mybatis數(shù)組和集合的長度判斷及插入方式
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,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04linux的shell命令檢測(cè)某個(gè)java程序是否執(zhí)行
ps -ef |grep java|grep2016-04-04Java購物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java購物系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Spring,hibernate,struts經(jīng)典面試筆試題(含答案)
這篇文章主要介紹了Spring,hibernate,struts經(jīng)典面試筆試題極其參考含答案,涉及SSH基本概念,原理與使用技巧,需要的朋友可以參考下2016-03-03SpringBoot項(xiàng)目部署到騰訊云的實(shí)現(xiàn)步驟
本文主要介紹了SpringBoot項(xiàng)目部署到騰訊云的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Java web基礎(chǔ)學(xué)習(xí)之開發(fā)環(huán)境篇(詳解)
下面小編就為大家?guī)硪黄狫ava web基礎(chǔ)學(xué)習(xí)之開發(fā)環(huán)境篇(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08