개발 지식/SpringBoot
[SpringBoot, Mybatis] Insert 한 값의 AUTO_INCREMENT된 ID 가져오기
sssukho
2020. 3. 17. 02:02
반응형
굉장히 기초적인 내용임에도 불구하고 엄청난 삽질을 통해 깨달음을 얻은 Insert 한 값의 AUTO_INCREMENT된 ID 가져오기 내용을 정리해보겠다.
개발 환경
- DB : PostgresSQL(9.4.1212)
- 자바 : Java 8
- IDE : Intellij IntelliJ IDEA 2019.1.1 (Community Edition)
- Build #IC-191.6707.61, built on April 17, 2019
- JRE: 1.8.0_202-release-1483-b44 x86_64
- JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
- macOS 10.15.2
Insert 태그 내 useGeneratedKeys 사용하는 방법
- parameterType : 맵핑시킬 VO 객체.
- useGenratedKeys : Returning Id를 처리할 것인지에 대한 프로퍼티. True로 설정해준다.
- keyColumn : DB 내에서 Insert하고 난 뒤 다시 받아 올 컬럼명
<insert id="insert" parameterType="com.sssukho.filedemo.dto.CompanyDto" useGeneratedKeys="true" keyColumn="id">
INSERT INTO company (name) VALUES (#{company.name});
</insert>
Select 태그를 사용하여 Insert 한 후 resultType으로 리턴
- RETURNING 문법을 그대로 사용해준다.
<select id="insert" parameterType="map" resultType="integer">
INSERT INTO company (name) VALUES (#{company.name})
RETURNING id;
</select>
반응형