Обновление с iBatis - PullRequest
       14

Обновление с iBatis

1 голос
/ 22 сентября 2011

Мне нужно обновить следующую таблицу:

TOPICS =, где WORD_ID является внешним ключом, и оба они являются ключом TOPICS.

Я бы хотел запросить у iBatis:

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

Как использовать несколько параметров, которые не являются только строками ??

Большое спасибо!

Ответы [ 3 ]

1 голос
/ 11 октября 2011

Вы можете указать тип данных вместе с параметром, как показано ниже

WHERE WORD_ID = #wordId: NUMERIC #

1 голос
/ 05 октября 2011

На стороне Java создайте HashMap

Map map = new HashMap();

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

Здесь значения карты могут быть любого типа (строковые или целые и т. Д.).

В запросе Ibatis укажите параметрClass = "map".

<update id="mySel" parameterClass="map">
UPDATE TOPICS
SET TOPIC = #NewTopic#
WHERE WORD_ID = #WordId#
AND TOPIC = #OldTopic#
</update>
0 голосов
/ 07 мая 2014
<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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...