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

解決Mybatis中foreach嵌套使用if標(biāo)簽對象取值的問題

 更新時間:2022年02月08日 08:59:11   作者:_修鐵路的  
這篇文章主要介紹了解決Mybatis中foreach嵌套使用if標(biāo)簽對象取值的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

foreach嵌套使用if標(biāo)簽對象取值問題

最近做項目過程中,涉及到需要在 Mybatis 中 使用 foreach 進(jìn)行循環(huán)讀取傳入的查詢條件,動態(tài)拼接SQL語句,接口傳入的查詢條件格式:{"advanceSearchList":[{"searchType":10,"searchText":"12"}]} ,根據(jù)我定義的參數(shù)格式,需要在 Mybatis中動態(tài)去循環(huán)讀取 advanceSearchList 集合中的json對象,并根據(jù) json對象中的  searchType 做不同的處理,需要在 foreach 中嵌套 if 標(biāo)簽進(jìn)行判斷使用。

大體格式

? ? ? ? <foreach collection="advanceSearchList" item="item" index="index" >
? ? ? ? ? ? <if test="xxx == 10 ">
? ? ? ? ? ? ? ? and abc like CONCAT('%', ddd, '%')
? ? ? ? ? ? </if>
? ? ? ? </foreach>

因為當(dāng)前 foreach 中獲取到的 item 是一個json對象,涉及到在 if 標(biāo)簽中獲取當(dāng)前對象中指定屬性的值,一時腦抽,沒有想起來取值辦法,咨詢?nèi)f能的度娘沒有得到滿意的回復(fù),經(jīng)過自己傻瓜式的嘗試,終于找到了取值方法,特此記錄下:

解決辦法

Mybatis 在 foreach 標(biāo)簽中使用 if 標(biāo)簽獲取對象屬性方法:

直接通過 對象.屬性 的方式獲?。。。?!對,你沒看錯,就是直接通過  對象.屬性 的方式獲取?。?!

例如:當(dāng)前foreach 循環(huán)獲取的對象是 item,想要獲取對象中的 searchType ,直接就是 item.searchType 即可……

代碼如下

? ? ? ? <foreach collection="advanceSearchList" item="item" index="index" >
? ? ? ? ? ? <if test="item.searchType == 10 ">
? ? ? ? ? ? ? ? and abc like CONCAT('%', #{item.searchText}, '%')
? ? ? ? ? ? </if>
? ? ? ? </foreach>

Mybatis if 語句嵌套

在使用mybatis的時候,可以在 if 標(biāo)簽下面加上if標(biāo)簽。

比如要對這個sql語句進(jìn)行改進(jìn)。

select a.* from emp a?
inner join dept b
on a.deptno = b.no
where ?b.place= #{place}

要求

如果 傳入的 地點 是 North Korea 那么 符合 a中的條件也可以。

a.male = 'M' or a.age ?bewteen ?20 and 30?

where語句可以這么寫

select * from emp e?
<where>
  <if test="_parameter.place != null and _parameter.place != '' ">
    and?
    <if test="_parameter.place == 'North Korea' "> ?( ?</if>
    b.place = #{place}
    <if test="_parameter.place == 'North Korea' ">
    or a.male = 'M' or a.ge between 20 and 30 ?)
    </if>
  </if>
</where>

注意里面的括號。

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

相關(guān)文章

  • spring boot使用自定義配置的線程池執(zhí)行Async異步任務(wù)

    spring boot使用自定義配置的線程池執(zhí)行Async異步任務(wù)

    這篇文章主要介紹了spring boot使用自定義配置的線程池執(zhí)行Async異步任務(wù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Springboot如何實現(xiàn)對配置文件中的明文密碼加密

    Springboot如何實現(xiàn)對配置文件中的明文密碼加密

    這篇文章主要介紹了Springboot如何實現(xiàn)對配置文件中的明文密碼加密問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 徹底搞定堆排序:二叉堆

    徹底搞定堆排序:二叉堆

    二叉堆有兩種:最大堆和最小堆。最大堆:父結(jié)點的鍵值總是大于或等于任何一個子節(jié)點的鍵值;最小堆:父結(jié)點的鍵值總是小于或等于任何一個子節(jié)點的鍵值
    2021-07-07
  • java使用Logback配置輸出日志內(nèi)容到文件示例代碼

    java使用Logback配置輸出日志內(nèi)容到文件示例代碼

    這篇文章主要介紹了java?Logback輸出日志內(nèi)容到文件,要將logger.info的信息輸出到文件,您可以使用Logback配置,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • 解決SpringBoot使用devtools導(dǎo)致的類型轉(zhuǎn)換異常問題

    解決SpringBoot使用devtools導(dǎo)致的類型轉(zhuǎn)換異常問題

    這篇文章主要介紹了解決SpringBoot使用devtools導(dǎo)致的類型轉(zhuǎn)換異常問題,具有很好的參考價值,希望對大家有所幫助。 一起跟隨小編過來看看吧
    2020-08-08
  • 如何通過Java實現(xiàn)PDF轉(zhuǎn)高質(zhì)量圖片

    如何通過Java實現(xiàn)PDF轉(zhuǎn)高質(zhì)量圖片

    在Java中,將PDF文件轉(zhuǎn)換為高質(zhì)量的圖片可以使用不同的庫,其中最常用的庫之一是?Apache?PDFBox,下面我們就來看看這個庫的具體使用吧
    2024-10-10
  • zookeeper服務(wù)優(yōu)化的一些建議

    zookeeper服務(wù)優(yōu)化的一些建議

    今天小編就為大家分享一篇關(guān)于zookeeper服務(wù)優(yōu)化的一些建議,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Spring的RequestBodyAdvice攔截淺析

    Spring的RequestBodyAdvice攔截淺析

    本文主要介紹了Spring的RequestBodyAdvice攔截淺析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • SpringBoot配置Redis實現(xiàn)保存獲取和刪除數(shù)據(jù)

    SpringBoot配置Redis實現(xiàn)保存獲取和刪除數(shù)據(jù)

    本文主要介紹了SpringBoot配置Redis實現(xiàn)保存獲取和刪除數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Spring?Boot項目中遇到`if-else`語句七種具體使用方法解析

    Spring?Boot項目中遇到`if-else`語句七種具體使用方法解析

    當(dāng)在Spring?Boot項目中遇到大量if-else語句時,優(yōu)化這些代碼變得尤為重要,因為它們不僅增加了維護(hù)難度,還可能影響應(yīng)用程序的可讀性和性能,以下是七種具體的方法,用于在Spring?Boot項目中優(yōu)化和重構(gòu)if-else語句,感興趣的朋友一起看看吧
    2024-07-07

最新評論

海原县| 观塘区| 科技| 辉南县| 广宁县| 长顺县| 永德县| 楚雄市| 平谷区| 措勤县| 永德县| 法库县| 鹿泉市| 紫云| 香港 | 绥江县| 义马市| 莱芜市| 建宁县| 会同县| 竹山县| 凤山市| 内黄县| 华宁县| 公主岭市| 峨边| 中牟县| 莎车县| 察哈| 缙云县| 探索| 通道| 同德县| 丰县| 鹤山市| 班戈县| 乌兰浩特市| 贺兰县| 石狮市| 文化| 迭部县|