<foreach>标签的用法:
六个参数:
collection:要循环的集合
index:循环索引(不知道啥用。。)
item:集合中的一个元素(item和collection,按foreach循环理解)
open:以什么开始
close:以什么结束
separator:循环内容之间以什么分隔
daoImpl.java:
public Manager selectManager(Map<String, String> params) throws Exception { if(params==null){ logger.info("!!!异常!!!根据参数查询菜单信息传入的参数为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); }
mapper.xml
<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>
——————下面转载,不完整———————————————
循环key:
[java] view plain copy
循环values
[java] view plain copy
循环获取key和值:
[java] view plain copy
通常我们设置值的时候,会以#{}的方式,而不是${},如下
[java] view plain copy
但是用这种方式,会发现,取不了值了,${condition[k]} 能取的出值,但#{condition[k]} 取出来的值却实null,正确的写法应该是:
[java] view plain copy
PS:
{k} = #{condition[{k}]} 是不太好用在mybatis3.3下
修改成 {k} = #{condition.{k}} 是好用的
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179584.html原文链接:https://javaforall.cn