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

mybatis數(shù)組和集合的長度判斷及插入方式

 更新時(shí)間:2022年01月21日 11:44:23   作者:IT新手村  
這篇文章主要介紹了mybatis數(shù)組和集合的長度判斷及插入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis數(shù)組和集合的長度判斷及插入

1、在使用foreach的是collection屬性

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

主要有一下4種情況: 

  • 如果傳入的是單參數(shù)且參數(shù)類型是一個(gè)List的時(shí)候,collection屬性值為list .
  • 如果傳入的是單參數(shù)且參數(shù)類型是非list的Collection的時(shí)候,collection屬性值為collection .
  • 如果傳入的是單參數(shù)且參數(shù)類型是一個(gè)array數(shù)組的時(shí)候,collection的屬性值為array
  • 如果dao層指定了param的name,或者dao層傳的是map,collection里為param的name或map的key
DefaultSqlSession
private Object wrapCollection(final Object object) {
? ? if (object instanceof Collection) {
? ? ? StrictMap<Object> map = new StrictMap<Object>();
? ? ? map.put("collection", object);
? ? ? if (object instanceof List) {
? ? ? ? map.put("list", object);
? ? ? }
? ? ? return map;
? ? } else if (object != null && object.getClass().isArray()) {
? ? ? StrictMap<Object> map = new StrictMap<Object>();
? ? ? map.put("array", object);
? ? ? return map;
? ? }
? ? return object;
? }

2、判斷長度

集合:<if test="arr != null and arr.size() > 0">

數(shù)組:<if test="col != null and col .length > 0">

mybatis數(shù)組與集合判斷非空和長度

數(shù)組判斷

參數(shù)object為數(shù)組Object[]時(shí)。先判斷是否為null,不為null則判斷數(shù)組長度object.length是否大于0即可。

?? ?<if test="object!=null and object.length>0">
?? ??? ?<yourSql>
?? ?</if>

集合判斷

參數(shù)object為集合List<Object>時(shí),先判斷是否為null,不為null則判斷集合長度object.size()是否大于0即可。

?? ?<if test="object!=null and object.size()>0">
?? ??? ?<yourSql>
?? ?</if>

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

相關(guān)文章

  • 詳解SpringBoot中關(guān)于%2e的Trick

    詳解SpringBoot中關(guān)于%2e的Trick

    這篇文章主要介紹了SpringBoot中關(guān)于%2e的Trick,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Java中的LinkedHashSet集合解讀

    Java中的LinkedHashSet集合解讀

    這篇文章主要介紹了Java中的LinkedHashSet集合解讀,LInkedHashSet這個(gè)容器不知道大家在平時(shí)的工作用的多嗎,反正我基本上沒有用過,所以,本文主要對(duì)于它的特點(diǎn)、使用場(chǎng)景、實(shí)現(xiàn)原理,做一個(gè)講解,希望對(duì)大家平時(shí)的工作有所幫助,需要的朋友可以參考下
    2023-09-09
  • Java 實(shí)例解析單例模式

    Java 實(shí)例解析單例模式

    單例模式(Singleton Pattern)是 Java 中最簡單的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式,這種模式涉及到一個(gè)單一的類,該類負(fù)責(zé)創(chuàng)建自己的對(duì)象,同時(shí)確保只有單個(gè)對(duì)象被創(chuàng)建
    2021-11-11
  • Java購物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    Java購物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Java購物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Spring,hibernate,struts經(jīng)典面試筆試題(含答案)

    Spring,hibernate,struts經(jīng)典面試筆試題(含答案)

    這篇文章主要介紹了Spring,hibernate,struts經(jīng)典面試筆試題極其參考含答案,涉及SSH基本概念,原理與使用技巧,需要的朋友可以參考下
    2016-03-03
  • Java基礎(chǔ)之集合框架詳解

    Java基礎(chǔ)之集合框架詳解

    這篇文章主要介紹了Java基礎(chǔ)之集合框架詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • SpringBoot項(xiàng)目部署到騰訊云的實(shí)現(xiàn)步驟

    SpringBoot項(xiàng)目部署到騰訊云的實(shí)現(xiàn)步驟

    本文主要介紹了SpringBoot項(xiàng)目部署到騰訊云的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java Native關(guān)鍵字原理及作用解析

    Java Native關(guān)鍵字原理及作用解析

    這篇文章主要介紹了Java Native關(guān)鍵字原理及作用解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java web基礎(chǔ)學(xué)習(xí)之開發(fā)環(huán)境篇(詳解)

    Java web基礎(chǔ)學(xué)習(xí)之開發(fā)環(huán)境篇(詳解)

    下面小編就為大家?guī)硪黄狫ava web基礎(chǔ)學(xué)習(xí)之開發(fā)環(huán)境篇(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08

最新評(píng)論