最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis中的多重if?條件判斷

 更新時(shí)間:2022年03月11日 10:11:42   作者:入門小白  
這篇文章主要介紹了mybatis中的多重if?條件判斷,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis 多重if 條件判斷

要注意的是

當(dāng)指定某種情況的時(shí)候,條件需要添加 toString() 方法

mybatis常用判斷語法(標(biāo)簽)

作為java開發(fā),我們常用的判斷有if、switch語句,其實(shí)在MyBatis中也有對(duì)應(yīng)的標(biāo)簽,用于動(dòng)態(tài)生成sql語句。

if判斷

<where>
? ? <if test="null != statusCode and 0 != statusCode">
? ? ? ? AND b.STATUS_CODE = #{statusCode, jdbcType=VARCHAR}
? ? </if>
</where>

一般來說,很多程序猿朋友會(huì)在<if>標(biāo)簽前增加WHERE 1=1語句,但其實(shí)只需要像上面代碼中增加<where>標(biāo)簽包裹所有<if>語句,<if>內(nèi)語句前面都有and或者or關(guān)鍵字就行:

  • MyBatis會(huì)自動(dòng)判斷所有條件不滿足時(shí),不添加where語句;
  • 如果有多判斷語句,并且滿足一個(gè)條件以上時(shí),會(huì)把第一條滿足的(如果第一條有and或者or關(guān)鍵字時(shí))and或者or關(guān)鍵字刪除;

choose判斷

<choose>
?? ?<when test="5 == queryType">
?? ??? ?CASE WHEN statusCode IN (1,6) THEN 1 ELSE 2 END,createTime DESC
?? ?</when>
?? ?<when test="1 != queryType and 9 != queryType">
?? ??? ?createTime DESC
?? ?</when>
?? ?<otherwise>
?? ??? ?<choose>
?? ??? ??? ?<when test="null == orderType or 1 == orderType">
?? ??? ??? ??? ?auditTime
?? ??? ??? ?</when>
?? ??? ??? ?<when test="2 == orderType">
?? ??? ??? ??? ?downloadCount
?? ??? ??? ?</when>
?? ??? ??? ?<when test="3 == orderType">
?? ??? ??? ??? ?browseCount
?? ??? ??? ?</when>
?? ??? ??? ?<otherwise>
?? ??? ??? ??? ?is666Count
?? ??? ??? ?</otherwise>
?? ??? ?</choose>
?? ??? ?<if test="null == orderMode or 1 == orderMode">
?? ??? ??? ?DESC
?? ??? ?</if>
?? ?</otherwise>
</choose>

上面的代碼使用了標(biāo)簽嵌套特性,用于復(fù)雜條件判斷。

choose判斷跟if else語句作用相同,起到根據(jù)條件執(zhí)行不同分支邏輯的作用。

而otherwise跟多個(gè)if else中最后一個(gè)else的作用相同,在以上條件都不滿足時(shí),執(zhí)行otherwise中的邏輯。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

最新評(píng)論

城固县| 鹤山市| 新余市| 利津县| 乌兰浩特市| 莎车县| 昭苏县| 香河县| 攀枝花市| 澄城县| 电白县| 团风县| 尼勒克县| 江川县| 淳安县| 江达县| 棋牌| 永吉县| 武汉市| 确山县| 定日县| 宜丰县| 巫溪县| 古蔺县| 江门市| 锦州市| 凤山市| 隆化县| 丹棱县| 会东县| 莱阳市| 开阳县| 阳高县| 宁波市| 天峻县| 阳信县| 侯马市| 临潭县| 中宁县| 尤溪县| 大荔县|