본문 바로가기

개발/Java & Spring

[Spring] MyBatis @Insert 후, key 값 반환받아오기 - 개발일기 A[11]


@Insert 실행 후 반환 값은 추가된 레코드의 수이다.


만약 DB Table에 auto_increment 속성이 있는 컬럼이 있다면 그 값을 얻어올 수 있는데,


아 진짜 java config 찾기 너무 힘들다,, 한글로는 절대 못찾음 스택오버플로우만세



xml 로 매퍼를 설정하는 경우 

useGeneratedKeys=true 를 설정해놓으면 되는데,


javaConfig의 경우 매퍼클래스에 다음과 같은 설정을 추가해주면 된다.



@Insert("INSERT INTO BOARD(WRITER, SUBJECT, CONTENT, CREATED, VIEW)  VALUES(#{article.writer},#{article.subject},#{article.content}, #{article.created}, #{article.view})")
	@Options(useGeneratedKeys=true, keyProperty="article.idx")
	public int addArticle(@Param("article")ArticleDTO article);


아래 @Options 태그이하를 쭉 써주면 된다.

keyProperty ="DTOClass.필드" 를 입력하면 그 반환값으로 잘 넘어온다!!