ibatis两种批量删除方法


标签:
ibatis批量删除java |
分类: 原创 |
ibatis批量操作网上可以搜到到很多,但大部分都是根据某个id的集合进行批量操作,这样就限制了入参的范围。有时候我们希望根据某些字段联合删除操作,这样根据单个字段的sql就不适合了。下面把这两种批量删除方式都介绍一下,对应不用的应用场景,大家可以根据具体需要选择合适的。
1. 根据id集合批量删除
使用场景:需要批量删除的数据只有其中一列不同,其余判断条件都一致。
比如最简单的根据id批量删除:
Xml代码
http://s3/mw690/001Ehz5Tzy7iwNDMgme72&690
可以将“ids”参数存放在java map中,如果还有其他参数也可以放入map中一起赋值到sql上,使用map作为parameterClass的话具有一定的扩展性,方便参数或查询条件灵活变更。
通过mysql中的IN语句,可以方便的实现简单场景下的批量删除操作。
2. 根据对象集合批量删除
使用场景:需要删除的where条件中有多个组合条件,而且每个记录的参数值都不一样。
比如批量删除用户信息时,需要根据用户姓名和性别这两个参数联合确定的记录,这时候上面根据单一列批量删除的sql就不适用了。需要使用到ibatis的批量操作语句进行sql提交。
Java代码
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
同时需要在ibatis的xml文件中配置如下sql语句:
Xml代码
http://s5/mw690/001Ehz5Tzy7iwNFcL4gd4&690
这种方式下sql语句比较简单和单一的删除语句相同。
通过上述提供的两种批量删除方法,基本可以满足我们日常开发过程中使用ibatis进行批量删除的应用场景了。如果大家还有其他批量删除方式,也欢迎评论留言一起学习。