2013-07-31 70 views
2

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

下'forUpdate'你的意思是在地圖的關鍵? – maks

+0

不確定#{id:VARCHAR}是否是正確的語法。我習慣使用#{id,jdbcType = VARCHAR}。 – maks

回答

1
<if test="forUpdate != null"> 

可能工作。

在java中HashMap.get(key)當map不存在的時候返回null。

5

您可以使用此測試:

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

thz ..這應該是被接受的答案。 – Cataclysm

相關問題