批量删除主要需要注意接口处需要写上@Param()加上你自己定义的collection集合名称。实现批量删除主要分为
三步骤
一、写接口
批量删除是一个数组,因此传入的参数是一个数组。但是之后使用的foreach标签里面的需要id识别,因此需要自己给这个数组加上一个名称。
//批量删除
void deleteById(@Param("idsss") int[] ids);
二、写SQL语句
主要就是foreach中的四个值。两个括号一个。一个集合,一个集合里的值。
<!-- 批量删除数据-->
<delete id="deleteById">
delete
from tb_brand
where id
in
<foreach collection="idsss" item="id" open="(" close=")">
#{id}
</foreach>
</delete>
三、写测试用例。
public void testDeleteById() throws IOException {
//1.获取sqlSessionFactort
//①加载mybatis的核心配置文件,获取sqlSessionFatory对象,从官网复制,
String resource = "mybatis-config.xml"; //直接复制配置文件路径,注意是mybatis的
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.
//获取sqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//3.
BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
//4.
int[] ids = {7};
mapper.deleteById(ids);
//5.
sqlSession.close();
}
文章来源:https://www.toymoban.com/news/detail-598167.html
小结一下啊
这里只需要注意两个地方。
①foreach标签里面的collection需要一个识别id,需要你自己定义。
②既然它需要,那我们就在 void deleteById(@Param("idsss") int[] ids);
里面写上。文章来源地址https://www.toymoban.com/news/detail-598167.html
到了这里,关于mybatis实现批量删除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!