有没有办法测试参数图中是否存在参数?

时间:2013-07-31 10:49:58

标签: mybatis

在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>

2 个答案:

答案 0 :(得分:8)

您可以使用此测试:

<if test="_parameter.containsKey('forUpdate')">your code....</if> 

答案 1 :(得分:2)

<if test="forUpdate != null">

可能会有效。

在java中,HashMap.get(key)在map中不存在键时返回null。