关于mybatis中,批量增删改查以及參数传递的问题

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

posted @ 2017-07-05 15:00  zhchoutai  阅读(272)  评论(0编辑  收藏  举报