1、参数传递的问题
大多数情况下,我们都是利用map作为参数,并且大部分情况下都是只有一个参数。
但是,我们也可以利用@param注解,来传入多个参数,此时,mybatis会自动将参数封装成map,便于在配置文件中获取。
当使用数组或者list等作为参数时,必须在遍历时指出参数类型,而且如果只有一个参数,名称无关紧要,我们可以以任何名称获得该参数。
例如如下传入数组作为参数
我们必须在collection中指明参数类型为array
2、批量添加的问题
对于批量处理数据的问题,mybatis为我们提供了<foreach>语句来帮助我们遍历集合的问题。
对于1中的配置文件,item指明当前遍历的对象,collection指明传入的集合类型,open指明迭代以什么符号开始,separator指明迭代间用什么符号分割,close指明迭代用什么符号结束,还有index可以指明迭代的索引。
1、批量查询
从以上的函数中可以看出,我们传入list作为查询条件的集合,必须指明collection为list,这时的parameterType属性可以不必指明,同时多个迭代之间以or分割,最终组成的查询语句相当于where () or () or () ...这里有一点需要注意一下,open与colse指明的符号只是在迭代开始和结束时才添加,而在<foreach></foreach>中间指明的每次都会添加,倘若我们在这里也加上open = "(" 与close = ")" 此时最终形成的语句就相当于where ( () or () or ().. )不符号sql的规范,导致报错
2、批量添加
3、批量删除
4、批量更新
参考文章:http://www.suyunyou.com/aid5.html