MyBatis使用in进行列表中数据的批量删除

准备

数据库表
在这里插入图片描述
bean
在这里插入图片描述

使用in进行列表中数据的批量删除

以删除age in (20,43,99)的数据项为例。很明显此时不可以使用#{},因为这样的话执行的sql语句就变成了这样

delete from t_person where age in ("20,43,99")

多了一对双引号,所以可以用${}直接取出字符串数据,然后放在括号中。

接口

public interface PersonMapper {
    
    
    Integer deletePersonAge(@Param("age") String age);
}

映射文件

<?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"><!--约束,约束不同xml中所写的标签也不同-->
<mapper namespace="com.xxx.mapper.PersonMapper"><!--接口-->

<!--    Integer deletePersonAge(@Param("age") String age);-->
    <delete id="deletePersonAge">
        delete from t_person where age in (${age})
    </delete>

</mapper>

输出结果
在这里插入图片描述
数据库表
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/baiqi123456/article/details/123810945