컴퓨터 관련/DB 정보
마이바티스 update 시 유니크값 가져오기
보뇨
2018. 12. 17. 17:50
반응형
예전에 골머리썩히다가 오늘 같은 이슈가 발생해서 생각해보니 아주 간단하게 풀림
일단 아래를 전형적인 update 쿼리부분이다 업데이트할시 해당 Row 의 유니크값을 가져오고 싶은데 기존에 써먹던 selectKey 는 <update> 쪽에서 먹히지않는다
1 2 3 4 5 6 7 | <update id="anode" parameterType="com.vessle.tisto.anode.model.anodeVO"> UPDATE node <trim prefix="SET" suffixOverrides=","> <if test="version!= ''">version=#{version},</if> </trim> WHERE manager = #{manager} </update> | cs |
그렇기때문에 seleectKey 가 되는 <insert> 로 해주면 된다 단지 생각만 쫌 바꾸면 되는문제다
아래와 같이 :) 그럼 이만 참고로 5번줄에서 limit 1 을 해주었는데 혹시 모를 복수의 값이 있을까봐 해놨다
1 2 3 4 5 6 7 8 9 10 11 12 | <insert id="anode" parameterType="com.vessle.tisto.anode.model.anodeVO"> <selectKey keyProperty="id" resultType="integer" order="AFTER"> SELECT id FROM node WHERE manager = #{manager} limit 1 </selectKey> UPDATE node <trim prefix="SET" suffixOverrides=","> <if test="version!= ''">version=#{version},</if> </trim> WHERE manager = #{manager} </insert> | cs |
반응형