mybatis數組和集合的長度判斷及插入方式
mybatis數組和集合的長度判斷及插入
1、在使用foreach的是collection屬性
該屬性是必須指定的,但是在不同情況下,該屬性的值是不一樣的
主要有一下4種情況:
- 如果傳入的是單參數且參數類型是一個List的時候,collection屬性值為list .
- 如果傳入的是單參數且參數類型是非list的Collection的時候,collection屬性值為collection .
- 如果傳入的是單參數且參數類型是一個array數組的時候,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">
數組:<if test="col != null and col .length > 0">
mybatis數組與集合判斷非空和長度
數組判斷
參數object為數組Object[]時。先判斷是否為null,不為null則判斷數組長度object.length是否大于0即可。
?? ?<if test="object!=null and object.length>0"> ?? ??? ?<yourSql> ?? ?</if>
集合判斷
參數object為集合List<Object>時,先判斷是否為null,不為null則判斷集合長度object.size()是否大于0即可。
?? ?<if test="object!=null and object.size()>0"> ?? ??? ?<yourSql> ?? ?</if>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java8新特性之lambda的作用_動力節(jié)點Java學院整理
我們期待了很久lambda為java帶來閉包的概念,但是如果我們不在集合中使用它的話,就損失了很大價值?,F有接口遷移成為lambda風格的問題已經通過default methods解決了,在這篇文章將深入解析Java集合里面的批量數據操作解開lambda最強作用的神秘面紗。2017-06-06
Java使用OpenOffice將office文件轉換為PDF的示例方法
OpenOffice是一個開源的辦公套件,它包含了文檔處理、電子表格、演示文稿以及繪圖等多種功能,類似于Microsoft Office,本文將給大家介紹Java使用OpenOffice將office文件轉換為PDF的示例方法,需要的朋友可以參考下2024-09-09
springboot-mongodb的多數據源配置的方法步驟
這篇文章主要介紹了springboot-mongodb的多數據源配置的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
mybatisplus?實現接口MetaObjectHandler自動填充字段值
MetaObjectHandler是MyBatis-Plus提供的一個接口,本文主要介紹了mybatisplus?實現接口MetaObjectHandler自動填充字段值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-07-07
詳解SpringBoot AOP 攔截器(Aspect注解方式)
這篇文章主要介紹了詳解SpringBoot AOP 攔截器 Aspect,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05

