DataBase/Oracle SQL

[JDBC] SQL 쿼리문/ 테이블 생성, 설계 /방식별 기본문법 (JDBC,Mybatis)

유혁스쿨 2020. 9. 2. 23:42
728x90
반응형

게시판 테이블 설계 예제

create table board(
bno int primary key --게시판 번호
,writer varchar2(20) not null --작성자
,title varchar2(200) not null --제목
,content varchar2(4000) --내용
,viewcnt int default 0 --조회수, default0 제약조건:굳이 해당컬럼에 레코드를 저장하지 않아도 기본값 0 저장됨.
,regdate date
);

테이블 생성

 

select * from board;

board 테이블의 모든(*)행을 조회

 

select * from board order by bno desc;

번호값을 기준으로 내림차순 정렬 조회

 

create sequence bno_seq
start with 1 --1부터 시작
increment by 1 --1씩 증가
nocache; --캐시삭제

bno_seq 시퀀스 생성

 

alter table board;

 

테이블에 새로운 레코드행 추가

 


기본 문법

 

[INSERT-입력}

-- PrepareStatement방식
insert into 테이블명 (번호,컬럼명,컬럼명,컬럼명,날짜) values(시퀀스명.nextval,?,?,?,sysdate)
--Spring mybatis방식
insert into 테이블명 (번호,컬럼명,컬럼명,컬럼명,날짜) 
values(시퀀스명.nextval,#{필드명},#{필드명},#{필드명},sysdate)

[UPDATE-수정]

-- PrepareStatement방식
update 테이블명 set 컬럼명=?, 컬럼멍=?, 컬럼명=? where 컬럼명=?
--Spring mybatis방식
update 테이블명 set 컬럼명=#{필드명}, 컬럼멍=#{필드명}, 컬럼명=#{필드명} where 컬럼명=#{필드명}

[DELETE-삭제]

-- PrepareStatement방식
delete from 테이블명 where 컬럼명=?

 

--Spring mybatis방식
delete from board where 컬럼명=#{필드명} -- 필드명 -> getter()메서드명 입니다.

현업에서는 회원 탈퇴의 경우에는 delete 쿼리문을 사용하지 않기도 합니다.

번호값을 기준으로 1이면 가입회원 2면 탈퇴회원이라는 조건을 둔 state라는 컬럼을 미리 만들어 컬럼의 번호를 수정하면서 권한을 변경할수있도록 연동하기위해 이렇게 사용합니다. 

 

 

mybatis.xml 방식에서는 #{필드명}를 자바로 표현하면 VO객체.get필드명()과 같습니다.

 

728x90
반응형