Mybatis foreach 使用与理解(支持Array,List,HashMap及相互嵌套)

原创
2016/01/22 14:20
阅读数 3.9K

   
   
   
Mybatis foreach 使用与理解(支持List<Hashmap<String,String>>)
<foreach collection="param3.field" item="field" separator="," open="(" close=")">
                
            </foreach>
对原始语句的理解:
separator是每一条记录输出后面加上这个(最后一条不加)
open,close是将整个foreach的输出进行概括。
collection是列表或者map等源数据集合
item 是元素具体单个

使用说明
参数传递是使用Entity的,所以的参数都是从entity读取属性,pageJoin实体内嵌的分页实体,在这里定义了一个
List<HashMap<string,string>> filter;(注意要把getter,setter生成好,因为是private的,否则就会出错,这一点容易忽略)
使用实例:
<foreach item="item" index="index" collection="pageJoin.filter">                    
                       <choose>
                           <when test="item.type=='field'">
                              and ${item.field}=#{item.val1}
                           </when>
                           <when test="item.type=='range'">
                              and ${item.field} between #{item.val1} and #{item.val2} 
                           </when>
                           <otherwise>
                             <!-- donothing -->
                           </otherwise>
                        </choose>
</foreach>
展开阅读全文
打赏
1
3 收藏
分享
加载中
大东家博主
需要注意$,#的区别,这个还是很重要的。
2016/01/22 14:26
回复
举报
更多评论
打赏
1 评论
3 收藏
1
分享
返回顶部
顶部