首页 » 技术乱弹 » 正文

[转]Ibatis传入数组或List类型参数小结

发表于: 青年博客 · 2018-3-9 ·  409 views  ·  0 replies 

小结一下ibatis框架下,传入参数为数组类型或者是List类型的sql写法。特别说明,iterate标签仅支持数组和List类型,如果传入Set,Map或其它集合类型,Ibatis会抛异常。

 

1. 传入数组类型,不需要标明parameterClasss,数组和List类型对象一样都可以用<iterate>标签进行遍历。

java调用代码(注意空指针问题):

2.传入List类型,泛型参数是八大基本类。这个时候parameterClass传的是List接口的类路径,而不是List的泛型参数的类路径!

3.传入的List的元素是复杂的对象类型,类型类型里面包含id属性。同样,parameterClass传入的是List接口的类路径,而不是List的泛型参数的类路径。遍历的时候,用#list[].id#就行了,“.”后面跟上要枚举的属性名称。

4.传入的参数是map,map的一个value对象的某个字段是List。这个时候,parameterClass是map,这个时候iterate标签得加一个property属性,这个属性指定value对象的List字段的名字。否则ibatis会报“ParameterObject or property was not a Collection, Array or Iterator.”。这种是我遇到的最复杂的情况,这种sql搞定了,其它的sql就不是问题了。

Java调用如下:

 

文章原地址:http://blog.csdn.net/bruce128/article/details/22098795

本文链接: http://www.baikeyang.com/code/97370.html
0 like+
«上一篇: :下一篇»

相关文章

ORA-28002: the password will expire within 5 days

异常信息如下: info Shell 2018-...

[转]JAVA多线程实现的四种方式

这是网上一篇关于介绍多线程的一篇文章,个人感觉总结的很...

关于Spring任务调度@Scheduled的外部配置方法

在使用过Quartz过的人应该都清楚,Quartz的cron表达式是可...

instanceof与getClass的区别

在java中,在比较一个类是否和另一个类属于同一个类实例的...

[转]log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用

log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.i...

Redis.conf配置详细说明

近期因公司频繁搭建服务,所以在网上找了一份比较详细的配...

0 thoughts on “[转]Ibatis传入数组或List类型参数小结”

  1. 还没有任何评论,你来说两句吧

Leave a reply