mybatis数组和集合的长度判断及插入方法
这篇文章主要介绍“mybatis数组和集合的长度判断及插入方法”,在日常操作中,相信很多人在mybatis数组和集合的长度判断及插入方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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
DefaultSqlSessionprivateObjectwrapCollection(finalObjectobject){if(objectinstanceofCollection){StrictMap<Object>map=newStrictMap<Object>();map.put("collection",object);if(objectinstanceofList){map.put("list",object);}returnmap;}elseif(object!=null&&object.getClass().isArray()){StrictMap<Object>map=newStrictMap<Object>();map.put("array",object);returnmap;}returnobject;}
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即可。
<iftest="object!=nullandobject.length>0"><yourSql></if>
集合判断
参数object为集合List<Object>时,先判断是否为null,不为null则判断集合长度object.size()是否大于0即可。
<iftest="object!=nullandobject.size()>0"><yourSql></if>
到此,关于“mybatis数组和集合的长度判断及插入方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!