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

2 篇文章 0 订阅
1 篇文章 0 订阅

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值