일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- springboot
- c#
- MySQL
- 파이썬
- design pattern
- kubernetes
- github
- 쿠버네티스
- docker
- 코틀린
- 도커
- react
- VOA
- Spring
- 마이바티스
- 자바
- AWS
- Python
- machine-learning
- 스프링
- Java
- git
- 스프링부트
- Winform
- mybatis
- 리액트
- Spring Boot
- DataGridView
- Kotlin
- 리팩토링
Archives
- Today
- Total
보뇨 다이어리
마이바티스 update 시 유니크값 가져오기 본문
반응형
예전에 골머리썩히다가 오늘 같은 이슈가 발생해서 생각해보니 아주 간단하게 풀림
일단 아래를 전형적인 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 |
반응형
'컴퓨터 관련 > DB 정보' 카테고리의 다른 글
H2 database mysql 로 작동시키기 (0) | 2019.06.30 |
---|---|
(mybatis ) datetime 을 받아올때 null 인 에러 (0) | 2019.03.28 |
mysql tinyint 에 대해서 (0) | 2018.12.04 |
mybatis 로 db 데이터 못가져오는 버그 (0) | 2018.11.27 |
mysql utf8_unicode_ci 에러 (0) | 2018.10.25 |