我需要更新下表:
TOPICS =其中WORD_ID是外键,它们都是TOPICS的关键。
我想用iBatis查询:
UPDATE TOPICS
SET TOPIC = #newTopic#
WHERE WORD_ID = #wordId#
AND TOPIC = #oldTopic#;
使用多个参数的方法是什么?不仅仅是字符串??
非常感谢!
答案 0 :(得分:1)
在java端构建一个HashMap
Map map = new HashMap();
map.add("NewTopic",aNewTopicValue );
map.add("OldTopic",anOldTopicValue );
map.add("WordId",aWordId );
这里的地图值可以是任何类型(字符串或整数等)。
在Ibatis查询中指定parameterClass =“map”。
<update id="mySel" parameterClass="map">
UPDATE TOPICS
SET TOPIC = #NewTopic#
WHERE WORD_ID = #WordId#
AND TOPIC = #OldTopic#
</update>
答案 1 :(得分:1)
您可以指定数据类型以及如下所示的参数
WHERE WORD_ID = #wordId:NUMERIC#
答案 2 :(得分: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>
参考上面的代码。我们可以使用'parameterMap'标记来映射参数并指定jdbcType
和javaType
。