반응형
Notice
Recent Posts
Recent Comments
Link
Dong Log
[mysql, mybatis] insert 시, 키 값 바로 가져오기 본문
여러 용도로 데이터베이스(이하 DB)에 데이터를 insert 한 후, auto_increment 된 키 값을 바로 알고 싶은 경우가 있습니다.
다음 예제는 mybatis 라이브러리로 DB의 User테이블에 'NO' 라는 auto_increment 의 key 칼럼이 있을때 작성법 입니다.
// spring framework 기준
// Vo 작성
public class UserVo {
Long no;
String userId;
//... getter setter
}
@Service
public class UserService {
@Autwired
private UserRepo userRepo;
UserVo user = new UserVo(); // String no; String
user.setUserId('test1');
userRepo.join(user); // 래퍼에서 join 쿼리 수행
user.getNo(); // 성공 시, user.getNo(); 에서 키값 확인 가능.
}
<insert id="join" useGeneratedKeys="true" keyProperty="no">
INSERT USER_TB SET
USER_ID=#{userId},
REG_DATE=NOW()
</insert>
insert 요소에서 중요한 속성은 'useGeneratedKeys' 와 'keyProperty' 입니다.
useGeneratedKeys를 true로 설정(기본 'false') 후, keyProperty엔 Vo(여기선 UserVo) 키 칼럼이름을 명시해주면 user.getNo() 메소드를 통해 키값을 확인 할 수 있습니다.
반응형
'Dev. > database' 카테고리의 다른 글
[mysql] 여러행 select 결과를 insert 하기 (0) | 2021.03.10 |
---|---|
[mysql] 데이터 포맷 ( DATE_FORMAT ) (0) | 2019.02.19 |
[mysql] insert 한번에 여러 데이터를 저장하는 쿼리를 알아보자 (0) | 2019.02.07 |
MySql에서 데이터 비교와 삽입을 동시에 하는 방법 (0) | 2019.02.05 |
Comments