Spring

[Mybatis] 방금 insert 값 select 하기 <selectKey>

natrue 2021. 5. 4. 13:58
728x90

insert와 동시에 select를 해야 하는 경우가 종종 있다.

 

그런 경우엔 <selectKey>를 사용해줘야한다.

 

<insert id="insertSelectKey">
  <selectKey keyProperty="boardNo" order="BEFORE" resultType="int">
     select seq_board.nextval from dual
  </selectKey>
      insert 
      into 
      tbl_board
          (
          boardNo, 
          boardTitle, 
          baordContent, 
          boardWriter
          ) 
      values
          (
          #{boardNo},
          #{boardTitle},
          #{baordContent},
          #{boardWriter}
          )
</insert>

 

keyProperty 다음 쿼리에 대입될 변수명 == selectKey구문의 결과가 세팅될 대상 프로퍼티
resultType 결과의 타입
order 실행시점

(
BEFORE 또는 AFTEER )


BEFORE : 키를 먼저 조회하고 그 값을 keyProperty에 세팅 한 후 insert 실행
AFTER   : insert를 실행 후 selectKey 구문 실행 
keyColumn 리턴되는 결과셋의 컬럼명은 프로퍼티와 일치. 콤마를 사용하여 구분

 

 

 

참고 :  moonsiri.tistory.com/18