原文来源:http://blog.csdn.net/qh_java/article/details/50754271
在mybatis 的配置文件中我们经常会用到集合 数组以及map的批量查询,这样我们就会经常用到 foreach 了,首先来看看foreach的属性:
这张图写的很全,很好就那个了你知道的……
知道了这些属性我们就来看看小demo:
1、List<Integer> IntList 、 List<String> strList 集合中存的是基本类型的
- <select id="dynamicForeachTest" parameterType="java.util.List" resultMap="Users">
- select id,name from t_blog where id in
- <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- </select>
2、List<Obect> objList 、List<Users> userList 引用类型的数据
- package soufun.com;
- /**
- *@author WHD
- *data 2016年2月27日
- */
- public class Users {
- private int id;
- private String name;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
- <select id="dynamicForeachTest" parameterType="java.util.List" resultMap="Users">
- select id,name from t_blog where id in
- <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
- #{item.id}
- </foreach>
- </select>
循环插入
- insert into t_blog(id,name) values
- <foreach collection="list" item="item" index="index" separator=",">
- (#{item.id},#{item.name})
- </foreach>
到这里都结束了,但还有个小事说一下,那就是in 的那个遍历,一般我们都是使用foreach 来组装 的但是有看到这样写的:
String name ="'w1','w2','w3','w4'";
- <select id="getByMap" resultMap="Users">
- SELECT * FROM t_blog where name in (${name})
- </select>
3、Map的使用,如果用Map做参数,则处理的方式和传一个基本变量一样直接引用就ok
- <select id="selectjdnotconfirmorder" parameterType="java.util.Map" resultMap="result">
- select bzOrderId,jdOrderId,name,mobile,success from jdorderinfo where jdIsOrder = ${notSubmit} and success =${success}
- </select>
- Map<String,Integer> hashMap= new HashMap<String,Integer>();
- hashMap.put("notSubmit", notSubmit);
- hashMap.put("success", state);
4、mybatis中的# 和$ 的区别,#的变量是带单引号的而$是不带单引号的,就比如上面的notSubmit 和success两个变量是int型的所以不用#而是$,因为是数字而不是字符。
相关推荐
测试mybatis里foreach用法,使用于list,array,map,怎么凑字数
Mybatis批量foreach merge into的用法,这是介绍Mybatis批量foreach merge into的用法的文档
SpringBoot+Mybatis,返回Map的时候,将Map内的Key转换为驼峰的命名
主要介绍了MyBatis传入集合 list 数组 map参数的写法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
NULL 博文链接:https://jaychang.iteye.com/blog/2357143
主要介绍了解决Mybatis中foreach标签带来的空格,换行,回车问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
mybatis中文离线文档
mybatis的原身是ibatis,现在已经脱离了apache基金会。这篇文章主要介绍了Mybatis中注解@MapKey的使用的相关资料,需要的朋友可以参考下
MyBatis中Foreach参数问题.doc
今天小编就为大家分享一篇关于mybatis动态sql之Map参数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
如何在Mybatis和XML中的foreach中批处理Sqlsession 应用于mybatis批处理测试的技术如下: 使用开源 版本 Java 1.7 春天 4.1.5 摇动 2.2.1 Mybatis 3.2.8 功能细节 mybatis-batch-test在test_book表中堆积了...
mybatis-list
MyBatis 中文注释源码,直接导入eclipse工程即可,源码中加了中文注释,可以学习研究底层,成就自我成长!
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据?接下来通过本文给大家介绍Mybatis传list参数调用oracle存储过程,需要的朋友可以参考下
mybatis_3.5.9官方中文文档pdf
本文给大家介绍Oracle+Mybatis的foreach insert批量插入报错的快速解决办法,非常不错,具有参考借鉴价值,感兴趣的朋友参考下吧
mybatis中文帮助文档和应用jar包.
MyBatis3官方中文文档高清 MyBatis3官方中文文档高清 MyBatis3官方中文文档高清 MyBatis3官方中文文档高清
Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis ...
mybatis中,sqlserver分页