[DB] <selectKey>를 이용하여 insert후 바로 값 받아오기

seonjeong·2023년 5월 3일
0

DB

목록 보기
4/7

🔥 <selectKey>

: 값을 테이블의 컬럼에 저장함과 동시에 해당 쿼리를 호출한 자바의 메서드의 매개변수에 반환할때 사용

keyProperty : 데이터를 담을 컬럼명 지정
resultType: 담을 데이터의 타입 지정
order : BEFORE(쿼리 실행 전 수행), AFTER(쿼리 실행 후 수행)


사용법

<selectKey resultType="데이터타입" keyProperty="컬럼명 " order="AFTER or BEFOR">
	쿼리문 작성
</selectKey>

예시

<insert id="insertMem" parameterType="MemDto">
	INSERT INTO MEMBER(memName, memAge)
    VALUES(#{memName}, #{memAge})
	<selectKey keyProperty="memId" resultType="int" order="ARTER">
    	SELECT MAX(memId) FROM MEMBER
    </selectKey>
</insert>

만약 auto_increament로 자동생성 되는 값이라면 아래처럼 작성하면 된다.

<selectKey resultType="int" keyProperty="USER_ID " order="AFTER">
	SELECT LAST_INSERT_ID()
</selectKey>




Reference

https://pingfanzhilu.tistory.com/m/entry/Mybatis-%EB%A7%88%EC%9D%B4%EB%B0%94%ED%8B%B0%EC%8A%A4-%EC%9E%90%EB%8F%99%EC%83%9D%EC%84%B1%ED%82%A4-selectKey-%EB%AC%B8%EB%B2%95-%EB%B0%8F-%EC%82%AC%EC%9A%A9%EB%B2%95

profile
🦋개발 공부 기록🦋

0개의 댓글