【转】mybatis循环map的一些技巧

原文地址:http://blog.csdn.net/linminqin/article/details/39154133

循环key:

<foreach collection="condition.keys" item="k" separator="and">   
    ${k} = #{k}    
</foreach>   

  

循环values

<foreach collection="condition.values" item="v" separator="and">   
    ${v} = #{v}    
</foreach>   

  

循环获取key和值:

<foreach collection="condition.keys" item="k" separator="and">   
    <if test="null != condition[k]">    
        ${k} = ${condition[k]}    
    </if>  
</foreach>   

  

通常我们设置值的时候,会以#{}的方式,而不是${},如下

<foreach collection="condition.keys" item="k" separator="and">   
    <if test="null != condition[k]">    
        ${k} = #{condition[k]}    
    </if>  
</foreach>   

  

但是用这种方式,会发现,取不了值了,${condition[k]}  能取的出值,但#{condition[k]} 取出来的值却实null,正确的写法应该是:

<foreach collection="condition.keys" item="k" separator="and">   
    <if test="null != condition[k]">    
        ${k} = #{condition[${k}]}  
    </if>  
</foreach>   
原文地址:https://www.cnblogs.com/yanqin/p/6933497.html