诚信通旺铺网站建设,模板王字库,邮件服务器是不是网站服务器,wordpress图片列表1.9 批量删除 1.9.1 编写接口方法1.9.2 编写SQL语句1.9.3 编写测试方法 如上图所示#xff0c;用户可以选择多条数据#xff0c;然后点击上面的 删除 按钮#xff0c;就会删除数据库中对应的多行数据。
1.9.1 编写接口方法
在 BrandMapper 接口中定义删除多行数据的方法。… 1.9 批量删除 1.9.1 编写接口方法1.9.2 编写SQL语句1.9.3 编写测试方法 如上图所示用户可以选择多条数据然后点击上面的 删除 按钮就会删除数据库中对应的多行数据。
1.9.1 编写接口方法
在 BrandMapper 接口中定义删除多行数据的方法。
/*** 批量删除*/
void deleteByIds(int[] ids);参数是一个数组数组中存储的是多条数据的id 1.9.2 编写SQL语句
在 BrandMapper.xml 映射配置文件中编写删除多条数据的 statement。
编写SQL时需要遍历数组来拼接SQL语句。Mybatis 提供了 foreach 标签供我们使用
foreach 标签
用来迭代任何可迭代的对象如数组集合。
collection 属性 mybatis会将数组参数封装为一个Map集合。 默认array 数组使用Param注解改变map集合的默认key的名称 item 属性本次迭代获取到的元素。separator 属性集合项迭代之间的分隔符。foreach 标签不会错误地添加多余的分隔符。也就是最后一次迭代不会加分隔符。open 属性该属性值是在拼接SQL语句之前拼接的语句只会拼接一次close 属性该属性值是在拼接SQL语句拼接后拼接的语句只会拼接一次
delete iddeleteByIdsdelete from tb_brand where idinforeach collectionarray itemid separator, open( close)#{id}/foreach;
/delete假如数组中的id数据是{1,2,3}那么拼接后的sql语句就是 delete from tb_brand where id in (1,2,3);1.9.3 编写测试方法
在 test/java 下的 com.itheima.mapper 包下的 MybatisTest类中 定义测试方法
Test
public void testDeleteByIds() throws IOException {//接收参数int[] ids {5,7,8};//1. 获取SqlSessionFactoryString 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();
}