mybatis的批量删除功能比在action层遍历删除的效率高
<delete id="deleteSelected" parameterType="int">
delete from user where id in
<foreach collection="ids" open="(" close=")" item="id" separator=",">
#{id}
</foreach>
</delete>
mapper:
int deleteSelected(@Param("ids")Integer[] userIds);
测试用例
public static void deleteSelected(){
//1.获取SqlSession对象
SqlSession session = MyBatisUtil.openSession();
//2.创建UserMapper接口的代理对象
UserMapper userMapper = session.getMapper(UserMapper.class);
Integer[] ids = {1,2,3};
userMapper.deleteSelected(ids);
// 4.提交事务 ,MyBatis需要开发者手动提交事务(DML 增删改)
session.commit();
// 5.关闭session
session.close();
}
运行结果: