본 샘플은 Spring 4 + MyBatis 3 + Oracle (Maven) 기반으로 게시판을 만드는 과정을 단계별로 구현한 샘플이다.
자세한 설명은 이곳에서 얻을 수 있다.
각 내용은 다음과 같이 구성되었다.
- List: 모든 게시물 출력
- Form: 사용자 입력 내용 저장
- Update: 사용자 입력 내용 수정
- Read: 사용자 입력 내용 보기
- Delete: 지정된 게시물 삭제
URL: http://localhost:8080/board/board1List
- List: 페이징, 새로운 번호 부여
- Form: 입력/수정을 하나로
- Read: 조회수
- Delete: 삭제에서 숨기기로
URL: http://localhost:8080/board/board2List
- List: 검색, 제목을 한 줄로 표시 ==> 페이징을 공통으로
- Form: 필수입력, 수정/저장 서비스 하나로
- Read: 스크립트 실행 방지
-
자료실
-
Step 4.1 (board41) : CheckStyle, PMD, FindBugs 적용 후 수정
- 댓글
- 무한 댓글 (계층형)
- JQuery 활용
- 멀티 게시판
- 멀티 게시판 관리자
Programming Language - Java 1.7
IDE - Eclipse
DB - Oracle
Framework - MyBatis, Spring 4
Build Tool - Maven
먼저 다음과 같은 테이블을 생성해야 한다.
CREATE TABLE TBL_BOARD(
BGNO NUMBER(11,0), -- 게시판 그룹번호
BRDNO NUMBER(11,0), -- 글번호
BRDTITLE VARCHAR2(255 BYTE), -- 글제목
BRDWRITER VARCHAR2(20 BYTE), -- 작성자
BRDMEMO VARCHAR2(4000 BYTE), -- 글내용
BRDDATE DATE, -- 작성일자
BRDHIT NUMBER, -- 조회수
BRDDELETEFLAG CHAR(1 BYTE), -- 삭제여부
CONSTRAINT BRDNO_PK PRIMARY KEY (BRDNO)
);
CREATE SEQUENCE BRDNO_SEQ;
CREATE TABLE TBL_BOARDFILE(
FILENO NUMBER(11,0), -- 파일번호
BRDNO NUMBER(11,0), -- 글번호
FILENAME VARCHAR2(100 BYTE), -- 파일명
REALNAME VARCHAR2(30 BYTE), -- 실제파일명
FILESIZE NUMBER, -- 파일크기
CONSTRAINT FILENO_PK PRIMARY KEY (FILENO)
);
CREATE SEQUENCE FILENO_SEQ;
CREATE TABLE TBL_BOARDREPLY (
BRDNO NUMBER(11,0) NOT NULL, -- 게시물 번호
RENO NUMBER(11,0), -- 댓글번호
REWRITER VARCHAR2(10 BYTE) NOT NULL, -- 작성자
REMEMO VARCHAR2(500 BYTE), -- 댓글내용
REDATE DATE, -- 작성일자
REDELETEFLAG VARCHAR2(1 BYTE) NOT NULL, -- 삭제여부
REPARENT NUMBER(11,0), -- 부모댓글
REDEPTH NUMBER, -- 깊이
REORDER NUMBER, -- 순서
CONSTRAINT RENO_PK PRIMARY KEY (RENO)
);
CREATE TABLE TBL_BOARDGROUP (
BGNO NUMBER(11,0), -- 게시판 그룹번호
BGNAME VARCHAR2(50 BYTE), -- 게시판 그룹명
BGPARENT NUMBER(11,0), -- 게시판 그룹부모
BGDELETEFLAG CHAR(1 BYTE), -- 삭제여부
BGUSED CHAR(1 BYTE), -- 사용여부
BGREPLY CHAR(1 BYTE), --댓글 사용여부
BGREADONLY CHAR(1 BYTE), -- 글쓰기 가능여부
BGDATE DATE, -- 생성일자
CONSTRAINT BGNO_PK PRIMARY KEY (BGNO)
);
CREATE SEQUENCE BGNO_SEQ;
\board\src\main\webapp\WEB-INF 폴더에 있는 applicationContext.xml에서 적절한 DB 접속 정보를 입력하고 실행하면 된다.