mybatis动态标签——foreach批量添加和删除

<!--
    【foreach标签】
     collection:设置要循环的数组或集合
     item:用一个字符串表示数组或集合中的每一个数据
     separator:设置每次循环的数据之间的分隔符
     open:循环的所有内容以什么开始
     close:循环的所有内容以什么结束
-->

 

mapper接口

public interface EmpMapper {

    int batchAddEmps(@Param("emps") List<Emp> emps);

    int batchDelEmps(@Param("empIds") Integer[] empIds);
}

 

mapper.xml-批量添加

    <insert id="batchAddEmps">
        insert into t_emp values
        <foreach collection="emps" item="emp" separator=",">
            (null,#{emp.empName},#{emp.age},#{emp.gender},null)
        </foreach>
    </insert>

批量添加测试代码:

复制代码
@Test
    public void testAddEmps(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
        Emp emp1 = new Emp(null,"小明1",20,"男");
        Emp emp2 = new Emp(null,"小明2",21,"男");
        Emp emp3 = new Emp(null,"小明3",22,"男");
        List<Emp> list = Arrays.asList(emp1, emp2, emp3);
        int res = mapper.batchAddEmps(list);
        System.out.println(res);
    }
复制代码

 

 

 

mapper.xml-批量删除(方法一)

   <delete id="batchDelEmps">
        delete from t_emp where emp_id in
        (
        <foreach collection="empIds" item="id" separator=",">
            #{id}
        </foreach>
        )
    </delete>

测试代码:

复制代码
@Test
    public void testDelEmps(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
        Integer[] ids = new Integer[]{5,6,7};

        int res = mapper.batchDelEmps(ids);
        System.out.println(res);
    }
复制代码

 

 

 

mapper.xml-批量删除(方法二)

<delete id="batchDelEmps">
      
        delete from t_emp where
        <foreach collection="empIds" item="id" separator="or">
            emp_id = ${id}
        </foreach>

 </delete>

 

posted @   iTao0128  阅读(1283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2022-03-03 webpack安装和使用
2022-03-03 模块化
点击右上角即可分享
微信分享提示