마스터 - 디테일 구조의 테이블에서 마스터의 pk를 디테일의 외래키로 사용할 때 필요
########### mysql or mariadb 의 경우
Insert를 할때는 아래와 같이 Mapper에 코딩할 것이다
# useGeneratedKeys 를 true로 넣어줘야 함.
<Insert id="insertData" useGeneratedKeys="true" keyProperty="id">
/* query */
</insert>
실행을 정상적으로 완료하면 Insert 된 행의 ID값을 가지는데 이 ID값은 DataClass에 선언되어있는(Map 형태일 경우 key 값이 ID) 필드에 저절로 들어가고 Java단에서 호출이 가능해진다.
########### ORACLE의 경우
오라클은 AUTO_INCREMENT 가 없고 Sequence에서 값을 가져와서 Insert를 해줘야 하기 때문에 아래와 같이 한다.
<Insert id="insertData">
<selectKey keyProperty="id" resultClass="int">
SELECT SEQ_ID.nextval From DUAL
</selectKey>
/* query */
insert into test(id, msg)
values(#{id}, #{msg})
</insert>
감사합니다.
'Tip' 카테고리의 다른 글
SW대가산정(재개발) (0) | 2021.02.23 |
---|---|
크롬 특정영역(div) 인쇄 (0) | 2021.02.23 |
[전자정부] ant-style 권한 url (0) | 2021.02.23 |
[mariadb] auto_increment를 활룡한 primary key 구성방법 (0) | 2021.02.23 |
[안드로이드] 이미지뷰에 url로 imageView 넣기 (0) | 2021.02.23 |