MyBatis如何实现多选删除,并支持长尾词查询?
- 内容介绍
- 相关推荐
本文共计336个文字,预计阅读时间需要2分钟。
我们在项目开发过程中,经常面临众多筛选需求,就像下面这张图,我们可以选择左侧的多个框架,进行多次筛选。我之前有这样的需求,一般是在servlet中循环多次执行SQL,学习了MyBatis后,效率大大提高。
我们可以选中左边的多个方框,进行多个删除,我之前有这样的需求一般用的是在servlet中循环多次sql,学了mybatis,我们可以把这些选中的id封装到数组中,在SQL中遍历,需要用到in关键字。
SQL<delete id="deleteByIds"> delete from tb_brand where id in <foreach collection="ids" item="id" separator="," open="(" close=")"> #{id} </foreach> ; </delete>
这里是通过MyBatis的<foreach>标签进行遍历的,非常方便。
删除方法public void deleteByIds() throws IOException { int[] ids = {10,11,12}; //1.加载mybatis的核心配置文件,获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.获取SqlSession对象,用它来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(true); //3.获取Mapper接口的代理对象 BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class); //4.执行方法 brandMapper.deleteByIds(ids); //5.释放资源 sqlSession.close(); }
执行后,可以删除数组中id的数据项,简化了SQL的书写。
本文共计336个文字,预计阅读时间需要2分钟。
我们在项目开发过程中,经常面临众多筛选需求,就像下面这张图,我们可以选择左侧的多个框架,进行多次筛选。我之前有这样的需求,一般是在servlet中循环多次执行SQL,学习了MyBatis后,效率大大提高。
我们可以选中左边的多个方框,进行多个删除,我之前有这样的需求一般用的是在servlet中循环多次sql,学了mybatis,我们可以把这些选中的id封装到数组中,在SQL中遍历,需要用到in关键字。
SQL<delete id="deleteByIds"> delete from tb_brand where id in <foreach collection="ids" item="id" separator="," open="(" close=")"> #{id} </foreach> ; </delete>
这里是通过MyBatis的<foreach>标签进行遍历的,非常方便。
删除方法public void deleteByIds() throws IOException { int[] ids = {10,11,12}; //1.加载mybatis的核心配置文件,获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.获取SqlSession对象,用它来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(true); //3.获取Mapper接口的代理对象 BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class); //4.执行方法 brandMapper.deleteByIds(ids); //5.释放资源 sqlSession.close(); }
执行后,可以删除数组中id的数据项,简化了SQL的书写。

