目录
- 一 .批量删除的流程
- 1.1 快速创建实体类
- 1.1.1 创建完毕后 除了属性 其他内容进行删除
- 1.2 创建mapper接口的抽象方法
- 1.3 编写sql语句
- 1.4 测试类
- Arrays.asList(删除对应的 id 值)
- 运行结果
✅作者简介:Java-小白后端开发者 🥭公认外号:球场上的黑曼巴
🍎个人主页:不会飞的小飞侠24
🍊个人信条:谨 · 信
💞当前专栏:高级内容
🥭本文内容:JAVA -----mybatis框架【mybatis的批量删除 】
更多内容点击👇
小飞侠的博客>>>>欢迎大家!!!
一 .批量删除的流程
- 快速创建实体类
- 创建mapper接口的抽象方法
- 编写sql语句
- 测试类
1.1 快速创建实体类
1.1.1 创建完毕后 除了属性 其他内容进行删除
创建完成后 更改的内容为:
包名
在类前加 注解–>@Data 内部自动生成有参 无参get set等
package cn.kgc.mybatis.entity;
import lombok.Data;
@Data
public class Emp{
private long id;
private String ename;
private long age;
private String deptno;
}
可在idea 左侧查看 实体类
1.2 创建mapper接口的抽象方法
选中 删除的数量 封装为集合
Integer deleteByIds(List<Integer> ids);
1.3 编写sql语句
书写sql语句
<!--
foreach
collection:传递集合的标识符
item 用于存储结合中的每一个元素
open : 循环以什么标识开始
separator :循环执行元素的分隔符
close :循环结束标识符
-->
<delete id="deleteByIds">
delete from emp where
<foreach collection="list" item="id" open="id in(" separator="," close=")">
#{id}
</foreach>
</delete>
1.4 测试类
package cn.syb.mapper;
import junit.framework.TestCase;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
public class EmpMapperTest{
SqlSessionFactory factory =null;
@Before
public void init(){
try {
InputStream resourceAsStream = Resources.getResourceAsStream("config/mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
// 批量删除
@Test
public void testDeleteByIds() {
SqlSession sqlSession = factory.openSession(true);
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
Integer integer = mapper.deleteByIds(Arrays.asList(1,4));
System.out.println("integer = " + integer);
}
}
Arrays.asList(删除对应的 id 值)
Integer integer = mapper.deleteByIds(Arrays.asList(1,4));