[MySQL] insert 후 sequence 값 반환

songi Jeon·2021년 4월 28일
0

SQL

목록 보기
2/2

selectKey 속성

  1. keyProperty
    selectKey에서 결과값을 리턴받을 변수명
    selectKey를 여러개 사용하고 싶은 경우 ','를 이용해 작성 가능
    (*주의사항: keyProperty = "A, B, C" 절대 띄어쓰기 하지 않기 => keyProperty = "A,B,C")
  2. resultType
    selectKey에서 리턴을 받을 데이터 타입
  3. order:
    selectkey를 언제 실행 할지 정함
    insert나 update 전 BEFORE, insert나 update 후 AFTER

반환 값은 parameterType으로 담긴다.

	<insert id="insertContents" parameterType="boardVO" >
		<selectKey keyProperty="seq" resultType="String" order="BEFORE">
			SELECT IFNULL(MAX(TS.SEQ)+1,1) FROM t_dept TS
		</selectKey>
		<![CDATA[
			INSERT INTO t_dept(
           	  	  SEQ 
				, TITLE 
				, CONT
				, RGST_ID 
				, ATCH_FILE_ID 
			)
			VALUES (
				 (SELECT IFNULL(MAX(TS.SEQ)+1,1) FROM t_dept TS)
				,#{title ,jdbcType=VARCHAR}
				,#{cont ,jdbcType=VARCHAR}
				,#{loginSeq ,jdbcType=VARCHAR}
				,#{atchFileId ,jdbcType=VARCHAR}
			)
		]]>
	</insert>

참조사이트

profile
비전공자가 백엔드 개발자 도전하는 블로그

0개의 댓글