본문으로 바로가기

20190111

[DB에 insert하고나서 자동으로 생성되는 key 얻어오기]

- MyBatis에서 처리하는 방법 학습

기존 코드​

변경 코드

두 코드의 가장 큰 차이점은 (A)파라미터로 전달 받은 객체(VO)에 값을 넣어주고 그 값을 통해서 DB에 데이터를 입력하느냐 (<selectKey>) 

아니면, (B)객체에서 특정 값을 제외하고 그 제외된 값을 쿼리문 안에서 시퀀스를 이용해서 값을 넣는 것 이냐 이다.

B방법(기존 코드)의 경우 inset하고 나서 시퀀스를 통해서 생성되는 키를 바로 얻어 올 수 없다. select를 이용하게 되면 자연스레 모델 객체에 값이 담기기 때문에 얻을 수 있지만. 우리가 원하는 것은 insert 즉후에, 해당 값을 얻는 것.

반면 A방법(변경 코드)는 insert와 동시에 시퀀스를 통해서 생성한 값을 바로 얻을 수 있다. 이 방법을 활용하면 게시판에서 게시글을 등록하고, 다음 화면에 자기 자신이 작성한 글의 상세화면을 띄우는 로직이 작성 가능하다.

'수업내용 정리 > 정리안된 메모' 카테고리의 다른 글

​RestController  (0) 2019.06.16
2019-01-10  (0) 2019.06.16
[Annotation(@) 이용해서 트랜잭션 등록하기]  (0) 2019.06.16
2019/01/09 과제 정리 및 TIP  (0) 2019.06.16
2019-01-08  (0) 2019.06.16