删除&批量删除功能 && foreach

发布时间 2023-03-30 17:13:13作者: YE-

1.编写接口方法:Mapper

  参数:id

  结果:void

2.编写SQL语句:SQL映射文件

3.执行方法,测试

步骤一:

步骤二:

 

 

步骤三:

 

    //删除数据
     public void testAdd() throws IOException {
         //接受参数
         //现在是固定数据,以后会变成动态数据
         int id = 1;

         //处理参数,定义一个关键字,将查询的关键字封装
         Brand brand = new Brand();
         brand.setId(id);


         //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(brand.getId());

         //5.释放资源
         sqlSession.close();
     }

 

批量删除

步骤一    @param修改数组参数值

 

 

步骤二

 

 

步骤三:调用和传入ids数组

 public void testDeleteByIds() throws IOException {
         //接受参数
         //现在是固定数据,以后会变成动态数据
         int[] ids = {4,5};

         //处理参数,定义一个关键字,将查询的关键字封装
         /*Brand brand = new Brand();
         brand.setId(id);*/


         //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);

         //5.释放资源
         sqlSession.close();
     }

 

 

Ps.这样也行

 

 

 

 

foreach

动态 SQL 的另一个常见使用场景是对集合进行遍历(尤其是在构建 IN 条件语句的时候)。比如: