MyBatis的删除操作
-
删除
-
删除一个
1.编写接口方法:Mapper接口
参数:id
结果:void
BrandMapper类里添加方法
/** * 根据id删除 */ void deleteById(int id);
2.编写SQL语句:SQL映射文件
BrandMapper.xml里添加SQL语句
<delete id="deleteById"> delete from tb_brand where id = #{id}; </delete>
3.执行方法,测试
测试类
@Test public void testDeleteById() throws IOException { //接收参数 int id = 6; //封装对象 //1.获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.获取SqlSession对象 //SqlSession sqlSession = sqlSessionFactory.openSession(); SqlSession sqlSession = sqlSessionFactory.openSession(true); //3.获取Mapper接口的代理对象 BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class); //4.执行方法 brandMapper.deleteById(id); //提交事务 sqlSession.commit(); //5.释放资源 sqlSession.close(); }
-
批量删除
-
1.编写接口方法:Mapper接口
参数:id数组
结果:void
BrandMapper类添加方法
/** * 批量删除 */ void deleteByIds(@Param("ids") int [] ids);
2.编写SQL语句:SQL映射文件
<!-- MyBatis会将数组的参数,封装为一个Map集合, * 默认:array = 数组 * 使用@Param注解来改变map集合的默认的key的名称 --> <delete id="deleteByIds"> delete from tb_brand where id in( <foreach collection="ids" item="id" separator="," open="(" close=")"> #{id} </foreach> ); </delete>
3.执行方法,测试
测试类
@Test public void testDeleteByIds() throws IOException { //接收参数 int[] ids = {5,7,8}; //封装对象 //1.获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.获取SqlSession对象 //SqlSession sqlSession = sqlSessionFactory.openSession(); SqlSession sqlSession = sqlSessionFactory.openSession(true); //3.获取Mapper接口的代理对象 BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class); //4.执行方法 brandMapper.deleteByIds(ids); //提交事务 sqlSession.commit(); //5.释放资源 sqlSession.close(); }
java
浙公网安备 33010602011771号