본문 바로가기

개발 지식/SpringBoot

[SpringBoot, Mybatis] Insert 한 값의 AUTO_INCREMENT된 ID 가져오기

반응형

굉장히 기초적인 내용임에도 불구하고 엄청난 삽질을 통해 깨달음을 얻은 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>

반응형