首页 > 代码库 > mybatis批量删除,亲测可用

mybatis批量删除,亲测可用

以前看了理论以为很容易就可以实现批量删除,谁知道自己写了才发现错误百出!百度mybatis批量删除,列出来的我没一个跑的通的(不排除是我自己的原因)

下面这种写法我自己测试是通过的!

mybatis配置什么的这里不多提了,不懂也不会看到这个知识点

 

首先是mapper:

  <delete id="delStu" parameterType="java.util.List">
        DELETE FROM STUDENT WHERE stuId IN
        <foreach collection="list"  item="item" open="("
            separator="," close=")">
            #{item}
        </foreach>
    </delete>

这里有两点需要注意的,一:参数是java.util.List

           二:collection="list"    小写(不知道为什么是这么写,找了好久(搜狗上找到的)看到一篇这么写的博客,我试一下,跑通了)

 

接口方法:

public int delStu(List<Integer> stuIds);

 

测试:

技术分享

删除之前,上面的数据还在数据库中!

下面是测试方法:

  @Test
    public void test3(){
        List<Integer> stuIds = new ArrayList<Integer>();
        stuIds.add(30);
        stuIds.add(31);
        stuIds.add(32);
        int result = studentDao.delStu(stuIds);
        System.out.println(result);
    }

运行结果:

技术分享

输出了3,说明删除了3条数据,再看看数据库!

技术分享

已成功删除!

 

mybatis批量删除,亲测可用