useGeneratedKeys를 true로 설정, KeyProperty에 가져오고싶은 값을 넣는다.
나의 경우엔 답변or댓글의댓글을 만드는 과정에서 그룹을 설정하기위해 자동증가값을 그룹에 같은값으로 업데이트하려고 했었다.
(...게시물을 만들면서 group을 같이 설정하고싶었는데, 실패해서 게시물만든후 group값을 bnum으로 업데이트하였다...비효율적인 것 같으므로 다른 방법을 찾아야할 것 같다.)
아무튼 자동증가되는 primarykey를 가져오고 싶었는데 계속 0을 가져왔었다.
그래서
매퍼에 위의 방법과 같이 bnum을 키프로퍼티에 넣고
1
2
3
|
<insert id="insert" parameterType="net.cot_pr1.domain.QnA" useGeneratedKeys="true" keyProperty="bnum">
INSERT INTO qna (bnum, title, content, writer, answer, qgroup) VALUES (0,#{title},#{content},#{writer},#{answer},#{qgroup})
</insert>
| cs |
컨트롤러에서
1
2
3
4
5
6
|
qnaService.create(vo);
int bnum = vo.getBnum();
vo.setBnum(bnum);
qnaService.setgroup(vo);
| cs |
이런식으로 bum을 다시 가져와서 group에 넣었다..