반응형
########### Mysql의 경우
테이블 스키마에 AUTO_INCREMENT 를 설정할 경우 자동으로 생성된다.
AUTO_INCREMENT 로 생성된 Key 값이 필요한 경우 사용하는 방법이다.
Insert를 할때는 아래와 같이 Mapper에 코딩할 것이다
# useGeneratedKeys 를 true로 넣어줘야 함.
<Insert id="insertData" useGeneratedKeys="true" keyProperty="id">
/* query */
</insert>
실행을 정상적으로 완료하면 Insert 된 행의 ID값을 가지는데 이 ID값은 DataClass에 선언되어있는(Map 형태일 경우 key 값이 ID) 필드에 저절로 들어가고 Java단에서 호출이 가능해진다.
########### ORACLE의 경우
오라클은 AUTO_INCREMENT 가 없고 Sequence에서 값을 가져와서 Insert를 해줘야 하기 때문에 아래와 같이 한다.
<Insert id="insertData">
<selectKey keyProperty="id" resultClass="int">
SELECT SEQ_ID.nextval From DUAL
</selectKey>
/* query */
insert into test(id, msg)
values(#{id}, #{msg})
</insert>
만약 키값을 가져오는 부분이 String 이라면 resultClass="String" 으로 변경한다.
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
[Spring] Mybatis 사용하기 (mapper의 id를 직접 호출) (0) | 2017.04.20 |
---|---|
[Spring] Mybatis 설정하기 (기본설정) (0) | 2017.04.20 |
[Spring] Mybatis 에서 Mapper(매퍼) 연결하는 2가지 방법에 대한 선택 가이드. (0) | 2017.04.20 |
[Spring] web.xml 설정. (2) | 2017.04.18 |
도커 docker 간단 명령어 (컨테이너/이미지 확인 삭제) (0) | 2017.04.17 |
댓글