- 什么是动态SQL
根据调用方法是给的参数不同,最终生成的SQL语句也不同。
- 删除案例
传入多个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的数据