mybatis的批量删除操作

需求描述:将符合某条件的几条记录删除

解决思路:对于多个id,可以使用sql关键词 in ,只要满足数据库的id在你的id集合或者list中,就删除,从而实现批量删除。循环delete方法是在是low到爆,就不再提了。

代码:

List<OhSysPriRoleOrg> roList =  (List<OhSysPriRoleOrg>)dao.findForList("OhSysPriRoleOrgMapper.getResByRoleIdAndOrgId",paramMap);
//删除
dao.batchDelete("XXXRoleOrgMapper.deleteById",roList);
mapper中的sql:
<delete id="deleteById" parameterType="String">
delete from <include refid="tableName"></include>
where
role_org_id in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item.roleOrgId}
</foreach>
</delete>

总结:注意用好foreach就行,其中的collection是什么类型的一定要对应好。

猜你喜欢

转载自www.cnblogs.com/xuchao0506/p/9578143.html