2011-09-22 51 views
1

我需要如下表更新:更新與iBatis的

TOPICS =其中WORD_ID是一個外鍵和兩個都是話題的關鍵。

我想和iBatis的查詢:

UPDATE TOPICS 
SET TOPIC = #newTopic# 
WHERE WORD_ID = #wordId# 
AND TOPIC = #oldTopic#; 

什麼是使用多個參數,不僅是字符串的方式?

非常感謝!

回答

1

在java端建立一個HashMap

Map map = new HashMap(); 

map.add("NewTopic",aNewTopicValue); 
map.add("OldTopic",anOldTopicValue); 
map.add("WordId",aWordId); 

在這裏,圖值可以是任何類型(字符串或整數等)。

在Ibatis查詢中指定parameterClass =「map」。 NUMERIC#

1

可以像下面

WHERE WORD_ID = #wordId與參數一起指定的數據類型。我們可以使用'parameterMap'標籤來映射參數並指定jdbcTypejavaType

0
<parameterMap class="ibatis.util.Entity" id="mySel_map"> 
    <parameter property="NewTopic" jdbcType="VARCHAR" />  
    <parameter property="WordId" jdbcType="INT" /> 
    <parameter property="OldTopic" jdbcType="VARCHAR" /> 
</parameterMap> 

<update id="mySel" parameterMap="mySel_map"> 
     UPDATE TOPICS 
     SET TOPIC = #NewTopic# 
     WHERE WORD_ID = #WordId# 
     AND TOPIC = #OldTopic# 
</update> 

參見上面的代碼:

<update id="mySel" parameterClass="map"> 
UPDATE TOPICS 
SET TOPIC = #NewTopic# 
WHERE WORD_ID = #WordId# 
AND TOPIC = #OldTopic# 
</update>