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 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Mybatis가 키 id를 삽입하는 방법을 되돌려줍니다.mapper의 xml 파일에useGeneratedKeys 구성 KeyProperty를 사용하여 Id로 돌아가면 됩니다. PS: Mybatis의 insert에서 키 ID를 반환하는 방법 1、XyzMapper.xml 또...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.