테이블에 특정 값들을 Insert하고 성공 시 Insert된 데이터의 Primary Key가 필요한 경우가 있다.
이때는 <selectKey>를 사용하면 된다.
<insert id="insert" parameterType="Member">
INSERT INTO MEMBER(name, age) VALUES(#{name}, #{age})
<selectKey resultType="int" keyProperty="no" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
keyProperty는 VO에 정의한 테이블에 들어가는 컬럼 ID를 넣으면 된다.
따라서 Primary Key 뿐만 아니라 다른 데이터도 가져올 수 있다는 뜻.
order는 순서다.
특정 값을 이용해 INSERT하려면 당연하게도 INSERT 앞에 위치시키고 BEFORE 명령어를 쓰면 된다.
그러면 insert가 성공하면 MEMBER 객체의 no 변수에 Auto Increment된 값이 저장된다.
member.getNo()로 가져오면 끝.
'MySQL' 카테고리의 다른 글
동적 쿼리문 작성해보기 (0) | 2018.04.24 |
---|