Mybatis Mapper配置文件sql中的 List Array Map 的foreach 、in
来源:互联网 发布:车床倒角编程 编辑:程序博客网 时间:2024/05/16 17:53
【转】http://blog.csdn.net/qh_java/article/details/50754271
其中的传的参数是List集合所以collection 的值直接使用了list 来代替而index 就是这个集合遍历的索引值,item 就是list当前索引位置的值 open 和close 成对出现,就是开始和结束的符号,而separator 就是分隔符。以这个类为例来看看:
这就是自己组装了 in的字符串,而没有使用mybatis的foreach 来组装其实是一样的。
这个sql中参数类型是Map,map参数如下:
4、mybatis中的# 和$ 的区别,#的变量是带单引号的而$是不带单引号的,就比如上面的notSubmit 和success两个变量是int型的所以不用#而是$,因为是数字而不是字符。
在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型的所以不用#而是$,因为是数字而不是字符。
阅读全文
0 0
- Mybatis Mapper配置文件sql中的 List Array Map 的foreach 、in
- Mybatis 中的 List Array Map 的foreach 、in
- mybatis的foreach插入List,Array,Map
- mybatis sql mapper 用map的写法
- 【MyBatis框架】mapper配置文件-foreach标签
- 【MyBatis框架】mapper配置文件-foreach标签
- 【MyBatis框架】mapper配置文件-foreach标签
- Mybatis 之 foreach 批处理 map 中的键值 为list 的操作
- mybatis传递List,Array,Map
- Mybatis 中遍历map 参数中的 list 和 array 属性
- mybatis的mapper配置文件中的一些细节问题
- Mybatis的mapper配置文件(一)
- Mybatis动态Sql的Foreach遍历拼接输入参数中的List或数组
- mybatis list<map>作为参数 foreach循环
- 【MyBatis框架】mapper配置文件-关于动态sql
- 【MyBatis框架】mapper配置文件-关于动态sql
- 【MyBatis框架】mapper配置文件-关于动态sql
- 【MyBatis框架】mapper配置文件-关于动态sql
- java 逻辑右移,算术右移
- 将keil中的数据用MATLAB绘成波形
- TCP三次握手四次挥手
- DOM
- 前端学习网址升级(值得拥有)
- Mybatis Mapper配置文件sql中的 List Array Map 的foreach 、in
- 高性能JavaScript
- java常用数据类型之间的转换
- Linux容器演变历程与未来发展前景
- nginx配置反向代理及动静分离
- viewpager嵌套viewpager
- 数学理论学习(1)
- 关于atomic_set(v,i)的问题
- 【算法】快速排序--C++源代码(VS2015)