[MyBatis + MySQL] INSERT 시 PK값 가져오기

코딩을 하던 중 PK 값이자 자동 증가하는 id 값을 가져와야 할 일이 생겼다.

 

MySQL 자체 문법으로도 가능한 방법이 있지만 MyBatis에서도 기능이 있다 해서 포스팅해보겠다.

 

Oracle 같은 경우 아래와 같은 방법으로 안되기 때문에 다른 방법(selectKey 태그 사용)으로 구현해야 하기 때문에 따로 찾아보길 바란다.

 

 

 

	<insert id="insertBoard" parameterType="java.util.HashMap" useGeneratedKeys="true" keyProperty="id">
		INSERT INTO board(
		title,
		content,
		writer,
		views
		)
		values(
		#{title},
		#{content},
		#{writer},
		0
		)
	</insert>

useGeneratedKeys

insert나 update됨가 동시에 자동생성된 키를 가져올 수 있는 속성으로 true로 설정 (default: false)

 

 

 

keyProperty

리턴 될 key property 설정.  여러개를 사용한다면 ,(콤마)를 구분자로 설정