公司工程用的是Mybatis的example的类,自动生成了对数据库的操作,批量操作的今天用到了,两种方式,一种需要拓展它生成的类,另一种自带的。
1、拓展新的方法:
1)在生成的Mapper类中增加一个方法:
int deleteBathById(String[] ids)
2)在Mapper的配置文件中增加sql语句
<delete id="deleteBathById" parameterType="java.lang.String">
delete from tb_province where id in
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
2、自带的方法:
与第一种不同的是,批量删除的id是以集合List传递
Criteria criteria = example.createCriteria();
criteria.andIdIn(id);
再调用deleteByExample(example)这个方法即可。
其实两种方法都可以,关键在于调用的一方,入参的不同,虽然第一种入参也可以是List,但是因为页面的原因,所以选择数组。可以根据自己的需求进行修改。