0
点赞
收藏
分享

微信扫一扫

动态SQL_foreach

言诗把酒 2022-02-01 阅读 46
  1. 什么是动态SQL
    根据调用方法是给的参数不同,最终生成的SQL语句也不同。

在这里插入图片描述

  1. 删除案例
    传入多个id,通过多个id同时删除数据。批量删除

文件结构
在这里插入图片描述
UserMapper接口中加入方法

Integer deleteByIds(Integer... ids);

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.tedu.mapper.UserMapper">
    <delete id="deleteByIds" >
        delete from emp where empno in (
            <foreach collection="array" item="empno" separator=",">
                #{empno}
            </foreach>
        )
    </delete>
</mapper>
  • collection="array"循环数组
  • item="empno"遍历时数组的哪一个元素
  • separator=","用逗号分割参数

测试案例

@Test
    public void voidDeleteByIds(){
        UserMapper mapper = ctx.getBean("userMapper",UserMapper.class);
        Integer n = mapper.deleteByIds(12,11);
        System.out.println(n);
    }

删除empno为11,12的数据
在这里插入图片描述

举报

相关推荐

0 条评论