인프런 커뮤니티 질문&답변

김철준님의 프로필 이미지

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

MyBatis 적용1 - 기본

자동키?가 없는 오라클에서 useGeneratedkey 사용하는 방법??

해결된 질문

작성

·

178

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]

오라클의 경우는 시퀀스로 증가하는 방법을 사용하는데, useGeneratedkey를 사용할 방법이 있을까요

답변 1

0

안녕하세요. 김철준님, 공식 서포터즈 y2gcoder입니다.

Oracle은 기본적으로 자동 증가 키를 지원하지 않기 때문에, 말씀하신 것과 같이 시퀀스를 사용해서 만들어줘야 하는 것으로 보입니다! 비슷하게나마 구현을 한다면 아래와 같을 것 같습니다!

예를 들어 oracle sequence의 이름이 my_sequence 라면

<insert id="insertUser" parameterType="com.example.User">
    <selectKey keyProperty="id" resultType="int" order="BEFORE">
        SELECT my_sequence.NEXTVAL FROM DUAL
    </selectKey>
    INSERT INTO users (id, name, email)
    VALUES (#{id}, #{name}, #{email})
</insert>

이런 식으로 해서 id 값을 가져온 후, 넣어줄 수 있을 것 같습니다!

 

감사합니다.