상세 컨텐츠

본문 제목

기존 스프링 웹프로젝트 오라클용으로_2

JSP·자바·코틀린

by 김일국 2020. 5. 23. 10:30

본문

기존 Mysql에서는 테이블 AI(자동증가)로 처리 되어서, Mybatis에서 코드 수정 없이 사용하였으나,

Oracle용으로 변경 후 AI(자동증가)속성이 없으므로 테이블 시퀸스를 새로 생성 하였습니다.

-- 오라클 전용 시퀸스 방식

```
CREATE SEQUENCE BNO_SEQ
START WITH 215
INCREMENT BY 1
MAXVALUE 10000
MINVALUE 1
NOCYCLE;
CREATE SEQUENCE RNO_SEQ
START WITH 1
INCREMENT BY 1
MAXVALUE 10000
MINVALUE 1
NOCYCLE;
--SELECT SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, CYCLE_FLAG FROM USER_SEQUENCES; //시퀸스 종류확인
--select BNO_SEQ.nextval from dual; //시퀸스 번호 확인쿼리

```

오라클용 전체 DDL, DML 은 아래와 같습니다.

edu_oracle.sql
0.03MB

mybatis insert쿼리 매퍼도 수정 해야 합니다.

/src/main/resources/mappers/boardMapper.xml(아래)

<insert id="create">
	<selectKey keyProperty="bno" resultType="int" order="BEFORE">
        select BNO_SEQ.nextval from dual  
   </selectKey>
 insert into tbl_board (bno, title, content, writer) 
 values(#{bno},#{title},#{content}, #{writer})
 </insert>

/src/main/resources/mappers/replyMapper.xml

<insert id="insertReply">
	    <selectKey keyProperty="rno" resultType="int" order="BEFORE">
			SELECT RNO_SEQ.nextval From DUAL
		</selectKey>
		insert into tbl_reply (rno, bno, replytext, replyer)
		values (#{rno},#{bno},#{replytext},#{replyer})
	</insert>

소스 정보 : https://github.com/miniplugin/edu_ora

 

miniplugin/edu_ora

기존 스프링웹프로젝트를 오라클용으로 변환. Contribute to miniplugin/edu_ora development by creating an account on GitHub.

github.com

오라클 시작 에러 처리 (
sqlplus / as sysdba 또는 sqlplus > user-name: /as sysdba 
> recover database; 
> alter database open; 
> shutdown immediate; 

> startup;

관련글 더보기

댓글 영역