使用 iBatis 更新

发布于 2024-12-06 09:26:02 字数 240 浏览 0 评论 0原文

我需要更新下表:

TOPICS = 其中 WORD_ID 是外键,它们都是 TOPICS 的键。

我想用iBatis查询:

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

使用不仅仅是字符串的多个参数的方式是什么?

多谢!

I need to update the following table:

TOPICS = where WORD_ID is a foreign key and both of them are the key of TOPICS.

I would like to query with iBatis:

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

What's the way of using multiple parameters which are not only strings??

Thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挖鼻大婶 2024-12-13 09:26:02

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

At java side build a HashMap

Map map = new HashMap();

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

Here the map values could be of any type (string or integer etc).

In Ibatis query specify parameterClass="map".

<update id="mySel" parameterClass="map">
UPDATE TOPICS
SET TOPIC = #NewTopic#
WHERE WORD_ID = #WordId#
AND TOPIC = #OldTopic#
</update>
月亮邮递员 2024-12-13 09:26:02

您可以指定数据类型和参数,如下所示

WHERE WORD_ID = #wordId:NUMERIC#

You can specify data type along with parameter like below

WHERE WORD_ID = #wordId:NUMERIC#

战皆罪 2024-12-13 09:26:02
<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”标签来映射参数并指定jdbcTypejavaType

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

Refer the above code. we can use the 'parameterMap' tag to map the parameter and specify the jdbcType and javaType.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文