MyBatis Oracle 자체 증가 시퀀스 구현 방법
<insert id=" insert " useGeneratedKeys="true" keyProperty="s_id" parameterType="xxxx" >
<selectKey resultType="int" order="BEFORE" keyProperty="s_id">
SELECT SEQ_TABLE.NEXTVAL FROM dual
</selectKey>
INSERT INTO <span style="font-family: Arial, Helvetica, sans-serif;">s_id</span><span style="font-family: Arial, Helvetica, sans-serif;">,name,age</span>
VALUES
(#{s_id} #{name}, #{age} )
</insert>
resultType = "int"는 int 형식으로 되돌아옵니다.keyProperty는 반환값을:parameterType에서 대상의 대상의 속성, 즉 xxxx 클래스의 s_에 부여합니다.id 속성
useGeneratedKeys="true" keyProperty="s_id"
시퀀스 id를 되돌려줍니다. 필요하지 않으면 채우지 않아도 됩니다.다음은 mybatis 설정oracle의 키 자체 증가
mysql, sqlserver 등 데이터베이스 자체에 키 자체 성장상 auto_increment 기능은 직접 사용할 수 있습니다.
useGeneratedKeys="true"를 사용하여 다음 구성과 같은 작업을 수행합니다.
insert into s_user_auth (id,user_id, user_name) values(#{id},#{userid},#{username})
그러나oracle은 안 된다. oracle 키의 자체 증가는 sequence를 통해 이루어지기 때문에 이런 방식은 안 된다. 사용해야 한다.1. sequence를 통해 id를 찾아내고 insert
select yoursequence.nextval as id from dual
insert into s_user_auth (id,user_id, user_name) values(#{id},#{userid},#{username})
2. 직접 insertsequence.nextval, 아래
insert into s_user_auth (id,user_id, user_name) values(yoursequence.nextval,#{userid},#{username})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL/마이바티스 | 동적 쿼리 사용A라는 서비스에 해당하는 테이블을 조인하고 조회하는 데 사용됩니다. 나중에 공통화를 위해 B 및 C 서비스도 추가됩니다. A, B, C 서비스는 모두 단일 쿼리에서 작동할 수 있도록 공통화되어야 합니다. 테이블에 각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.