Mybatis之Foreach
来源:互联网 发布:大六壬排盘软件手机版 编辑:程序博客网 时间:2024/06/01 10:22
一:单参数List类型 sql语句: <select id="dynamicForeachTest" resultType="Blog"> select * from t_blog where id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> 上述collection的值为list,对应的Mapper是: public List<Blog> dynamicForeachTest(List<Integer> ids); 测试代码: @Test public void dynamicForeachTest() { SqlSession session = Util.getSqlSessionFactory().openSession(); BlogMapper blogMapper = session.getMapper(BlogMapper.class); List<Integer> ids = new ArrayList<Integer>(); ids.add(1); ids.add(3); ids.add(6); List<Blog> blogs = blogMapper.dynamicForeachTest(ids); for (Blog blog : blogs) System.out.println(blog); session.close(); }
二:单参数array数组的类型: <select id="dynamicForeach2Test" resultType="Blog"> select * from t_blog where id in <foreach collection="array" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> 上述collection为array,对应的Mapper是: public List<Blog> dynamicForeach2Test(int[] ids); 对应的测试代码: @Test public void dynamicForeach2Test() { SqlSession session = Util.getSqlSessionFactory().openSession(); BlogMapper blogMapper = session.getMapper(BlogMapper.class); int[] ids = new int[] {1,3,6,9}; List<Blog> blogs = blogMapper.dynamicForeach2Test(ids); for (Blog blog : blogs) System.out.println(blog); session.close(); }
三:自己把参数封装成Map的类型 <select id="dynamicForeach3Test" resultType="Blog"> select * from t_blog where title like "%"#{title}"%" and id in <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> 上述collection的值为ids,是传入的参数Map的key,对应的Mapper是: public List<Blog> dynamicForeach3Test(Map<String, Object> params); 对应测试代码: @Test public void dynamicForeach3Test() { SqlSession session = Util.getSqlSessionFactory().openSession(); BlogMapper blogMapper = session.getMapper(BlogMapper.class); final List<Integer> ids = new ArrayList<Integer>(); ids.add(1); ids.add(2); ids.add(3); ids.add(6); ids.add(7); ids.add(9); Map<String, Object> params = new HashMap<String, Object>(); params.put("ids", ids); params.put("title", "中国"); List<Blog> blogs = blogMapper.dynamicForeach3Test(params); for (Blog blog : blogs) System.out.println(blog); session.close(); }
1 0
- mybatis之foreach
- mybatis之foreach用法
- Mybatis之Foreach
- Mybatis 示例之 foreach
- Mybatis之foreach
- mybatis 动态sql之foreach
- Mybatis 示例之 foreach (上)
- Mybatis 示例之 foreach (下)
- Mybatis 示例之 foreach (上)
- Mybatis 示例之 foreach (下)
- Mybatis 示例之 foreach (下)
- Mybatis 示例之 foreach (上)
- Mybatis 示例之 foreach (上)
- mybatis错误之-----in查询 <foreach>循环
- MyBatis的映射文件之 <foreach>循环
- MyBatis动态SQL之foreach用法
- Mybatis 示例之 foreach (下)
- Mybatis 示例之 foreach (上)
- Paxos和分布式存储系统
- nodejs+express一个很经典的问题--异步获取数据模板渲染
- 实现列表手势向左向右滑动删除条目
- textView表情代码相关
- 2016年c#冒泡排序
- Mybatis之Foreach
- C++的Json解析库:jsoncpp和boost
- Http协议
- C++常用知识列表
- SSL VPN应用
- Xamarin Mono For Android、Monotouch 安装、破解
- ansible tower 安装方法
- sqlite的增删改查
- linq,group by之后 每个key选3个data返回