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映射文件
? <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