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