在mybatis中是否有办法测试查询参数映射中是否包含某个参数?
我正在寻找类似的东西:
<select id="selectByKey" resultMap="MyObjectMap" parameterType="map">
select obj.* from obj where obj.id=#{id:VARCHAR}
<!-- I'm looking for a method like that below -->
<if test="parameterExists('forUpdate')">
<if test="forUpdate == 1">
for update
</if>
</if>
</select>
答案 0 :(得分:8)
您可以使用此测试:
<if test="_parameter.containsKey('forUpdate')">your code....</if>
答案 1 :(得分:2)
<if test="forUpdate != null">
可能会有效。
在java中,HashMap.get(key)在map中不存在键时返回null。