PK(Primary Key)나 자동생성 값이 필요하거나 Insert전에 select가 필요한 경우에 Ibatis에서 유용하게 사용할 수 있는 기능이다.
※ insert 시에 가능한 방법으로 update시(수정시)에도 사용하고 싶다면 설계 자체를 update가 아닌 insert로 짜면 된다.
Oracle용 자동 생성 방법
- 오라클은 auto increament 같은 명령어로 생성이 아닌 Sequence를 생성해서 사용하는 방법으로 자동 생성 값을 만들어낸다.
<insert id="네임스페이스" parameterClass="파라미터클래스">
<selectKey resultClass="int" keyProperty="id" >
SELECT 시퀀스명.NEXTVAL AS ID FROM DUAL
</selectKey>
insert into 테이블(칼럼1,칼럼2)
values (#id#,#파라미터#)
</insert>
위의 seq를 사용하는 방법에서 trigger를 같이 사용해준다면
mysql이나 mariadb에서의 auto increment처럼 사용이 가능하다.
MySQL용 자동 생성 방법
<insertid="insertProduct-MYSQL"parameterClass="product">
insert into PRODUCT (PRD_DESCRIPTION) values (#description#)
<selectKeyresultClass="int"type="post"keyProperty="id">
select LAST_INSERT_ID() as value
<selectKey>
<insert>
MSSQL용 자동 생성 방법
<insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product">
insert into PRODUCT (PRD_DESCRIPTION) values (#description#)
<selectKey resultClass="int" keyProperty="id" >
SELECT @@IDENTITY AS ID
</selectKey>
</insert>
'나는개발자다!! > 자바 Spring' 카테고리의 다른 글
아이바티스(iBatis)를 사용하자 썰 (0) | 2018.10.18 |
---|---|
아이바티스썰 조건문 (0) | 2018.10.18 |
VO, DTO, Bean이라고 불리는 객체들의 값을 출력하는 썰 (0) | 2018.10.16 |
JSTL foreach 문에서의 상태값 썰 (0) | 2018.10.16 |
Java 프로젝트에 Sqlite 설정 썰~! (0) | 2018.10.14 |