게시판〃(7) SQL 데이타베이스 생성

반응형


후.. 어제 하루종일 컨트롤러 부분을 작성하느라 힘이 다 빠졌는데 그렇다고 속도를 늦출순 없죠.


이번 포스팅에서는 mybatis를 작성하기 전에 SQL DB를 추가하여 미리 셋팅을 하도록 하겠습니다. 왜냐면 스프링 프레임워크의 MVC 모델 설계를 살펴보면 웹브라우저 → Controller (서블릿) → Model (JavaBean) 부분에서 Resource인 DB를 주고 받고 View로 향하게 됩니다. 


추가하자면 이번 게시판 프로젝트에서 사용되는 MVC패턴에선 ModelAndView → 디스패쳐서블릿을 향하는 부분이겠네요. 역시 개념이 중요한 만큼 미리 정리해 놓았던 관련글 링크를 통해 새 창으로 하나 띄워놓고 읽어보신다면 많은 도움이 되겠습니다. 또한 MySQL설치와 도구인 HeidiSQL 설치도 함께 링크했습니다.





 SQL 개발툴 실행


시작하기 전에 저는 한가지가 아닌 여러가지 개발툴을 다뤄보기 위해 이번 프로젝트에서는 Heidi SQL이라는 DB개발도구를 사용하였습니다. 학원에서 교육을 들었을때는 Oracle의 SQL Developer를 사용했으나 프로그램이 좀 무거운 느낌이 있어 가벼운 프로그램을 사용해보고 싶기도 했고요.



1) 저처럼 Heidi SQL을 설치하고 들어오셨다는 가정하에 시작하겠습니다.

프로그램을 실행시키면 세션 관리자가 뜨는데

사용자 : root  / 세션이름 : Test 로 해서

설치할때 지정한 비번 1234로 접속을 했습니다.



2) 접속을 하여 들어간 화면입니다.

세션인 Test를 마우스 오른쪽 클릭후

새로생성 → 데이터베이스 를 눌러

새로운 데이터베이스를 만들어 줍니다.



3) 저는 이름을 hunit 로 만들어 주었습니다.

각자 원하시는 이름으로 만들어주세요.



4) 그럼 만들어진 데이터베이스 화면 아무곳이나 마우스를 가져다 대고

오른쪽 클릭후 새로생성 → 테이블을 눌러줍니다.



5) 위 사진과 같이 이름을 지어주지 않아 [Untitled]의 테이블이 생성 되었고

요번 프로젝트에서 사용할 테이블 이름인 tbl_board를 적어주고

열 옆에 있는 추가 버튼을 눌러 데이타들을 생성해줍니다.



6) 데이타는 저번 BoardDto에서 작성했던 12개의 객체들입니다.

여기서 제일 중요한 부분은 빨간색 네모칸의 1번 옆에만 seq자물쇠 보이시죠?

 PrimaryKey로 기본키를 설정해주었습니다.


이번 게시판 프로젝트에서 seq(시퀀스)는 INT타입의 숫자형태로

글을 쓰고 넘겨받을때나 글을 삭제할때 일련번호 등을 지정하여

용이하게 처리할수 있기 때문에 기본키가 되야 합니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE `tbl_board` (
    `seq` INT(11NOT NULL,
    `name` VARCHAR(20NULL DEFAULT NULL,
    `email` VARCHAR(50NULL DEFAULT NULL,
    `homepage` VARCHAR(50NULL DEFAULT NULL,
    `title` VARCHAR(50NULL DEFAULT NULL,
    `content` VARCHAR(4000NULL DEFAULT NULL,
    `password` VARCHAR(20NULL DEFAULT NULL,
    `count` INT(11NULL DEFAULT NULL,
    `ip` VARCHAR(50NULL DEFAULT NULL,
    `regdate` DATE NULL DEFAULT NULL,
    `pos` INT(11NULL DEFAULT NULL,
    `depth` INT(11NULL DEFAULT NULL,
    PRIMARY KEY (`seq`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;



저는 데이타베이스 기반도 MySQL을 사용했기 때문에 Oracle과 테이블 생성부터 명령어가 다릅니다. 그래서 제가 위에 올린 쿼리문은 MySQL기준으로 사용하셔야 됩니다. 


원래는 공부를 하기 위해 MySQL 커맨드라인 클라이언트로 만들어 보고 싶었습니다만..아직 한참 공부해야되는 입장이라 한번 정리할때 정확하게 하고 싶은 마음에 시간이 된다면 카테고리를 하나 만들어 개념을 자세하게 정리하도록 하겠습니다.



1
2
3
4
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/hunit
username=root
password=1234



아무튼 이렇게 만들어진 데이타베이스를 이제 게시판 프로젝트에서 사용하게 될텐데 위 코드를 db.properties 이름의 파일을 만들어 DB를 연동시킬 계획입니다. 바로 다음 글에서 mybatis를 이용해 DB연동을 하겠습니다.

반응형