2011-09-22 1 views
1

다음 테이블을 업데이트해야합니다.iBatis로 업데이트

TOPICS = 여기서 WORD_ID는 외래 키이고 둘 다 TOPICS의 키입니다.

나는 iBatis를 함께 쿼리 싶습니다

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

만 문자열이 아닌 여러 매개 변수를 사용하는 방법은 무엇을?

고맙습니다. 자바 측에서는

답변

1

지도 값이 모든 유형 (문자열이나 정수 등) 일 수 여기서는 HashMap

Map map = new HashMap(); 

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

구축.

Ibatis 쿼리에서 parameterClass = "map"을 지정하십시오. #

1

당신은 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> 
관련 문제