欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis XML去除多余AND|OR前綴或逗號(hào)等后綴的操作

 更新時(shí)間:2021年02月03日 10:45:49   作者:是是非非iiee  
這篇文章主要介紹了MyBatis XML去除多余AND|OR前綴或逗號(hào)等后綴的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1.通過(guò)trim格式化標(biāo)記set或where功能

2.對(duì)于set自動(dòng)刪除最后一個(gè)“,”,對(duì)于where自動(dòng)刪除最后一個(gè)“and|or”

使用示例如下:

1、

select * from user 
<trim prefix="WHERE" prefixOverride="AND |OR">
<if test="userName != null and userName.length()>0"> AND user_name=#{userName}</if>
<if test="loginName != null and loginName.length()>0"> AND login_name=#{loginName}</if>
</trim>

如果userName 為空則最終SQL為:

select * from user where login_name = 'xx'

prefix:前綴

prefixOverride:去掉第一個(gè)and或者是or

2、

update user
<trim prefix="set" suffixOverride="," suffix=" where user_id = #{userId} ">
<if test="userName != null and userName.length()>0"> user_name=#{userName} , </if>
<if test="loginName != null and loginName.length()>0"> login_name=#{loginName} , </if>
</trim>

如果userName 為空則最終SQL為:

update user set login_name='xx'  where user_id='xx'

suffixOverride:去掉最后一個(gè)逗號(hào)(也可以是其他的標(biāo)記,就像是上面前綴中的and一樣)

suffix:后綴

補(bǔ)充:mybatis去除多余的and或者or

啥也不多說(shuō)了,大家還是直接看代碼吧~

<select id="selectBySelective" resultType="xxx.UserInfo">
select
<include refid="Base_Column_List" />
from uc_user
<trim prefix="WHERE (" suffix=")" prefixOverrides="AND |OR ">
<if test="userName != null" >
user_name = #{userName}
</if>
<if test="email != null" >
or email = #{email}
</if>
<if test="phone != null" >
or phone = #{phone}
</if>
<if test="weiboId != null" >
or weibo_id = #{weiboId}
</if>
<if test="wxId != null" >
or wx_id = #{wxId}
</if> 
<if test="qqId != null" >
or qq_id = #{qqId}
</if>
</trim>
and status = 1
</select>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Java的RTTI和反射機(jī)制代碼分析

    Java的RTTI和反射機(jī)制代碼分析

    這篇文章主要涉及了Java的RTTI和反射機(jī)制代碼分析的相關(guān)內(nèi)容,在介紹運(yùn)行時(shí)類(lèi)型識(shí)別的同時(shí),又向大家展示了其實(shí)例以及什么時(shí)候會(huì)用到反射機(jī)制,內(nèi)容豐富,需要的朋友可以參考下。
    2017-09-09
  • Java開(kāi)發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽

    Java開(kāi)發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽

    這篇文章主要介紹了Java開(kāi)發(fā)框架spring實(shí)現(xiàn)自定義緩存標(biāo)簽的詳細(xì)代碼,感興趣的小伙伴們可以參考一下
    2015-12-12
  • mybatis雙重foreach如何實(shí)現(xiàn)遍歷map中的兩個(gè)list數(shù)組

    mybatis雙重foreach如何實(shí)現(xiàn)遍歷map中的兩個(gè)list數(shù)組

    本文介紹了如何解析前端傳遞的JSON字符串并在Java后臺(tái)動(dòng)態(tài)構(gòu)建SQL查詢(xún)條件,首先,通過(guò)JSONArray.fromObject()將JSON字符串轉(zhuǎn)化為JSONArray對(duì)象,遍歷JSONArray,從中提取name和infos,構(gòu)建成Map對(duì)象用于Mybatis SQL映射
    2024-09-09
  • Kafka利用Java實(shí)現(xiàn)數(shù)據(jù)的生產(chǎn)和消費(fèi)實(shí)例教程

    Kafka利用Java實(shí)現(xiàn)數(shù)據(jù)的生產(chǎn)和消費(fèi)實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于Kafka利用Java實(shí)現(xiàn)數(shù)據(jù)的生產(chǎn)和消費(fèi)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Java語(yǔ)言實(shí)現(xiàn)非遞歸實(shí)現(xiàn)樹(shù)的前中后序遍歷總結(jié)

    Java語(yǔ)言實(shí)現(xiàn)非遞歸實(shí)現(xiàn)樹(shù)的前中后序遍歷總結(jié)

    今天小編就為大家分享一篇關(guān)于Java語(yǔ)言實(shí)現(xiàn)非遞歸實(shí)現(xiàn)樹(shù)的前中后序遍歷總結(jié),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Java轉(zhuǎn)JSON串的幾種方式

    Java轉(zhuǎn)JSON串的幾種方式

    本文給大家總結(jié)一下java轉(zhuǎn)json串的幾種方式,每種方式通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • 兩個(gè)小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作

    兩個(gè)小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作

    這篇文章主要介紹了兩個(gè)小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • java條件語(yǔ)句示例詳解

    java條件語(yǔ)句示例詳解

    本文給大家介紹java條件語(yǔ)句,Java 中的條件語(yǔ)句允許程序根據(jù)條件的不同執(zhí)行不同的代碼塊,一個(gè) if 語(yǔ)句包含一個(gè)布爾表達(dá)式和一條或多條語(yǔ)句,本文結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 如何使用Maven管理項(xiàng)目?Maven管理項(xiàng)目實(shí)例

    如何使用Maven管理項(xiàng)目?Maven管理項(xiàng)目實(shí)例

    下面小編就為大家?guī)?lái)一篇如何使用Maven管理項(xiàng)目?Maven管理項(xiàng)目實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • SpringBoot Maven打包失敗報(bào):class lombok.javac.apt.LombokProcessor錯(cuò)誤的解決辦法

    SpringBoot Maven打包失敗報(bào):class lombok.javac.apt.Lombo

    最新項(xiàng)目部署的時(shí)候,出現(xiàn)了一個(gè)maven打包失敗的問(wèn)題,報(bào):class lombok.javac.apt.LombokProcessor錯(cuò)誤,所以本文給大家介紹了如何解決SpringBoot Maven 打包失?。篶lass lombok.javac.apt.LombokProcessor 錯(cuò)誤,需要的朋友可以參考下
    2023-12-12

最新評(píng)論