准备
数据库表
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>
输出结果
数据库表