在MyBatis中,如果我们需要传递两个参数,有一种方式是通过Map作为传入参数,在动态SQL中,我们需要对传入的Map参数中的值进行判断,然后进行动态SQL的条件拼接处理。
假设我们有传入参数map如下:
map.put("name",name);
map.put("level",level);
对应的,我们有配置文件如下,可以看到,在test表达式中,我们不用再通过 #,$ 取值符,直接通过键值就可以取到Map中key所对应的值,如下所示:
<select id="findSomethings" parameterType="hashmap" resultType="hashmap">
select name,age,id from user
where 1 = 1
<if test="name != null and name!='' "> and name = #{name}</if>
<if test="level != null and level!='' "> and level= #{level}</if>
</select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)