国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - mybatis 查詢sql中in條件用法詳解(foreach)

mybatis 查詢sql中in條件用法詳解(foreach)

2021-08-03 11:07ya_ya_tou Java教程

這篇文章主要介紹了mybatis 查詢sql中in條件用法詳解(foreach),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

foreach屬性主要有item,index,collection,open,separator,close

1、item表示集合中每一個元素進行迭代時的別名,

2、index指定一個名字,用于表示在迭代過程中,每次迭代到的位置,

3、open表示該語句以什么開始,

4、separator表示在每次進行迭代之間以什么符號作為分隔符,

5、close表示以什么結束,

6、collection屬性,該屬性是必須指定的,但是在不同情況下,該屬性的值是不一樣的,

主要有一下3種情況:

a、如果傳入的是單參數且參數類型是一個List的時候,collection屬性值為list .

b、如果傳入的是單參數且參數類型是一個array數組的時候,collection的屬性值為array .

c、如果傳入的參數是多個的時候,我們就需要把它們封裝成一個Map了,當然單參數也可以封裝成map,實際上如果你在傳入參數的時候,在MyBatis里面也是會把它封裝成一個Map的,map的key就是參數名,所以這個時候collection屬性值就是傳入的List或array對象在自己封裝的map里面的key.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<select id="findBy" resultMap="RfCustomerMemMap" parameterType="java.util.Map">
  SELECT
  <include refid="Column"/>
  FROM rfl_customer_mem a LEFT JOIN rfl_loan b ON a.member_no = b.loan_member_no
  WHERE a.member_no = #{memberNo} AND b.status IN
  <foreach collection="status" index="index" item="item" open="(" separator="," close=")">
   #{item}
  </foreach>
  <if test="name != null and name != ''">
   AND name = #{name}
  </if>
  <if test="idNumber != null and idNumber != ''">
   AND id_number = #{idNumber}
  </if>
  <if test="mobileNo != null and mobileNo != ''">
   AND mobile_no = #{mobileNo}
  </if>
  <if test="loanNo != null and loanNo != ''">
   AND loan_no = #{loanNo}
  </if>
  order by a.id DESC
  <if test="offset > -1 and rows > -1">
   limit #{offset},#{limit}
  </if>
 </select>

java調用查詢sql代碼

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public List<LoanMerchantMemEntity> findMerchantMemBy(String merchantName, String merchantNo, String socialCreditCode, String loanNo, int offset, int limit) {
  List<LoanMerchantMemEntity> list = new ArrayList<LoanMerchantMemEntity>();
  Map<String, Object> filter = new HashMap<String, Object>();
  filter.put("merchantName", merchantName);
  filter.put("socialCreditCode", socialCreditCode);
  filter.put("status", statsList());
  filter.put("loanNo", loanNo);
  filter.put("offset", offset);
  filter.put("limit", limit);
  filter.put("merchantNo", merchantNo);
 
  try {
   List<LoanMerchantMemEntity> row = loanMerchantMemDao.findBy(filter);
  } catch (Exception e) {
   LOGGER.error(filter, "查詢企業會員信息異常", e);
  }
  return list;
 }
 
 static List<String> statsList(){
  List<String> statusList = new ArrayList<String>();
  statusList.add("SUCCESS");
  statusList.add("DUE");
  statusList.add("OVER");
  return statusList;
 }

其中,map中key為status值類型為list,這種使用場景為第三種,即collection為map中的key值

補充:當傳入一個String數組后,在sql中使用foreach語句實現IN查詢

當我們從前臺傳遞過來的是一個數組是,后臺我們要進行處理, 因為在數據庫中表的字段類型有可能是num 或者varchar;

我這里傳過來的是Map 當然也可以使用request.getparameter("name") 這個name為jsp或者htm頁面中的id所對應的name,

下面代碼中也是的:

?
1
2
3
String name=(String) params.get("name");
String[] hiddens = name.split(",");
params.put("name", hiddens);

當我們經過這一部分的處理后,數據就存入到map中了,傳入參數后進行查詢

AND 條件 in

?
1
2
3
<foreach collection="name" index="index" item="item" open="(" separator="," close=")">
   #{item}
  </foreach>

在sql上面,我們進行查詢的時候就OK啦!

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/aiyawalie/article/details/52954138

延伸 · 閱讀

精彩推薦
  • Java教程JAVA編程實現TCP網絡通訊的方法示例

    JAVA編程實現TCP網絡通訊的方法示例

    這篇文章主要介紹了JAVA編程實現TCP網絡通訊的方法,簡單說明了TCP通訊的原理并結合具體實例形式分析了java實現TCP通訊的步驟與相關操作技巧,需要的朋友可...

    遲做總比不做強3402020-12-09
  • Java教程Java簡單計算圓周率完整示例

    Java簡單計算圓周率完整示例

    這篇文章主要介紹了Java簡單計算圓周率,結合完整實例形式分析了Java計算圓周率的原理與操作技巧,代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考...

    java_zhao336997292021-04-27
  • Java教程spring boot加載第三方jar包的配置文件的方法

    spring boot加載第三方jar包的配置文件的方法

    本篇文章主要介紹了spring boot加載第三方jar包的配置文件的方法,詳細的介紹了spring boot jar包配置文件的方法,具有一定的參考價值,感興趣的小伙伴們可...

    牛奮lch5942021-01-18
  • Java教程spring cloud 之 客戶端負載均衡Ribbon深入理解

    spring cloud 之 客戶端負載均衡Ribbon深入理解

    下面小編就為大家帶來一篇spring cloud 之 客戶端負載均衡Ribbon深入理解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Java教程網5162020-11-13
  • Java教程淺談JAVA工作流的優雅實現方式

    淺談JAVA工作流的優雅實現方式

    這篇文章主要介紹了淺談JAVA工作流的優雅實現方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    一代天驕6752021-06-17
  • Java教程Java 散列存儲詳解及簡單示例

    Java 散列存儲詳解及簡單示例

    這篇文章主要介紹了Java 散列存儲詳解及簡單示例的相關資料,需要的朋友可以參考下...

    java教程網4862020-08-02
  • Java教程Java枚舉使用方法詳解

    Java枚舉使用方法詳解

    這篇文章主要為大家詳細介紹了Java枚舉的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    CSDN鄧帥11422021-01-12
  • Java教程Intellij IDEA創建spring-boot項目的圖文教程

    Intellij IDEA創建spring-boot項目的圖文教程

    本文通過圖文并茂的形式給大家介紹了Intellij IDEA創建spring-boot項目的教程,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友參考下吧...

    回憶成長5462021-03-25
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: av电影在线播放 | 天天拍天天干天天操 | 成人影音 | 伊人久久婷婷色综合98网 | 亚洲成人日韩在线 | 黄在线看 | 国产精品无码久久久久 | 国产精品毛片在线 | 中文字幕一区二区三区四区五区 | 久久综合五月 | 91综合网| 欧美一级片在线播放 | 亚洲国产精品久久久久秋霞蜜臀 | 欧美国产日韩在线观看 | 国产激情在线观看 | 亚洲一区二区 | 久久69精品久久久久久国产越南 | 中文字幕亚洲一区二区va在线 | 玖玖精品| 欧美在线一区二区三区 | 欧美一区二区小视频 | 偷拍一区二区三区四区 | 国产午夜一区二区三区 | 亚洲香蕉视频 | 久久er99热精品一区二区 | 成人乱人乱一区二区三区 | 中文字幕一区二区三区乱码在线 | 国内精品视频 | 成人免费淫片aa视频免费 | 亚洲精品在线视频 | 久久精品亚洲精品国产欧美kt∨ | 一区二区免费视频 | 毛片在线视频 | 午夜精品一区 | 亚洲激情网站 | 国产视频一区在线 | 久久中文字幕一区 | 亚洲国产高清高潮精品美女 | 综合精品久久久 | 国产高清免费 | 亚洲欧美网站 |