11

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

2 回答 2

13

您可以使用此测试:

<if test="_parameter.containsKey('forUpdate')">your code....</if> 
于 2013-11-19T15:03:02.150 回答
3
<if test="forUpdate != null">

可能工作。

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

于 2013-08-09T11:07:04.137 回答