mybatis循环map的一些技巧
生活随笔
收集整理的這篇文章主要介紹了
mybatis循环map的一些技巧
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
<foreach>標(biāo)簽的用法:
六個參數(shù):
collection:要循環(huán)的集合
index:循環(huán)索引(不知道啥用。。)
item:集合中的一個元素(item和collection,按foreach循環(huán)理解)
open:以什么開始
close:以什么結(jié)束
separator:循環(huán)內(nèi)容之間以什么分隔
daoImpl.java:
public Manager selectManager(Map<String, String> params) throws Exception {if(params==null){logger.info("!!!異常!!!根據(jù)參數(shù)查詢菜單信息傳入的參數(shù)為null,返回null");return null;}Map<String,Object> f_params=new HashMap<String,Object>();f_params.put("params", params);return (Manager) findForObject("managerMapper.selectManager", f_params);}
<select id="selectManager" parameterType="HashMap" resultType="Manager">select * from manager where ISDELETED='0'<foreach collection="params.keys" item="k" open="and" separator="and"> <if test="null != params[k]"> ${k} = #{params.${k}}</if></foreach></select>
------------------下面轉(zhuǎn)載,不完整---------------------------------------------
循環(huán)key:
[java]?view plaincopy
循環(huán)values
[java]?view plaincopy
循環(huán)獲取key和值:
[java]?view plaincopy
通常我們設(shè)置值的時候,會以#{}的方式,而不是${},如下
[java]?view plaincopy
但是用這種方式,會發(fā)現(xiàn),取不了值了,${condition[k]} ?能取的出值,但#{condition[k]} 取出來的值卻實(shí)null,正確的寫法應(yīng)該是:
[java]?view plaincopy
PS:
${k} = #{condition[${k}]} 是不太好用在mybatis3.3下
修改成 ?${k} = #{condition.${k}} ? 是好用的
總結(jié)
以上是生活随笔為你收集整理的mybatis循环map的一些技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thrift介绍及应用(四)—hadoo
- 下一篇: 自旋锁和互斥锁实例_多线程编程之自旋锁