Spring 4 + MyBatis 3 + MariaDB : board sample
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings
src/main
target
.classpath
.project
pom.xml
readme.md

readme.md

Spring 4 + MyBatis 3 + MariaDB 기반 게시판

본 샘플은 Spring 4 + MyBatis 3 + MariaDB (Maven) 기반으로 게시판을 만드는 과정을 단계별로 구현한 샘플이다.

자세한 설명은 이곳에서 얻을 수 있다.

박재욱(우사양반)님이 MariaDB를 ORACLE로 변환해서 구현하였고, 이곳에서 얻을 수 있다.

각 내용은 다음과 같이 구성되었다.

1. board Step 1 (board1)

  • List: 모든 게시물 출력
  • Form: 사용자 입력 내용 저장
  • Update: 사용자 입력 내용 수정
  • Read: 사용자 입력 내용 보기
  • Delete: 지정된 게시물 삭제

URL: http://localhost:8080/board/board1List

2. board Step 2 (board2)

  • List: 페이징, 새로운 번호 부여
  • Form: 입력/수정을 하나로
  • Read: 조회수
  • Delete: 삭제에서 숨기기로

URL: http://localhost:8080/board/board2List

3. board Step 3 (board3)

  • List: 검색, 제목을 한 줄로 표시 ==> 페이징을 공통으로
  • Form: 필수입력, 수정/저장 서비스 하나로
  • Read: 스크립트 실행 방지

4. board Step 4 (board4)

  • 자료실

  • Step 4.1 (board41) : CheckStyle, PMD, FindBugs 적용 후 수정

5. board Step 5 (board5)

  • 댓글

6. board Step 6 (board6)

  • 무한 댓글 (계층형)

7. board Step 7 (board7)

  • JQuery 활용

8. board Step 8 (board8)

  • 멀티 게시판

9. board Step 9 (board9)

  • 멀티 게시판 관리자

개발 환경

Programming Language - Java 1.7
IDE - Eclipse
DB - MariaDB 
Framework - MyBatis, Spring 4
Build Tool - Maven

설치

먼저 다음과 같은 테이블을 생성해야 한다.

CREATE TABLE TBL_BOARD (
  BGNO INT(11),								-- 게시판 그룹번호
  BRDNO int(11) NOT NULL AUTO_INCREMENT,	-- 글 번호
  BRDTITLE varchar(255),						-- 글 제목
  BRDWRITER varchar(20),						-- 작성자
  BRDMEMO   varchar(4000),					-- 글 내용
  BRDDATE	datetime,							-- 작성일자
  BRDHIT INT,									-- 조회수
  BRDDELETEFLAG CHAR(1),						-- 삭제 여부
  PRIMARY KEY (BRDNO)
) ;

CREATE TABLE TBL_BOARDFILE (
    FILENO INT(11)  NOT NULL AUTO_INCREMENT, -- 파일 번호
    BRDNO INT(11),                           -- 글번호
    FILENAME VARCHAR(100),                   -- 파일명
    REALNAME VARCHAR(30),                    -- 실제파일명
    FILESIZE INT,                            -- 파일 크기
    PRIMARY KEY (FILENO)
);

CREATE TABLE TBL_BOARDREPLY (
    BRDNO INT(11) NOT NULL,					-- 게시물 번호
    RENO INT(11) NOT NULL,                 -- 댓글 번호
    REWRITER VARCHAR(10) NOT NULL,         -- 작성자
    REMEMO VARCHAR(500) DEFAULT NULL,      -- 댓글내용
    REDATE DATETIME DEFAULT NULL,          -- 작성일자
    REDELETEFLAG VARCHAR(1) NOT NULL,      -- 삭제여부
    REPARENT INT(11),							-- 부모 댓글	
    REDEPTH INT,								-- 깊이	
    REORDER INT,								-- 순서
    PRIMARY KEY (RENO)
);

CREATE TABLE TBL_BOARDGROUP (
  BGNO INT(11) NOT NULL AUTO_INCREMENT,		-- 게시판 그룹번호
  BGNAME VARCHAR(50),							-- 게시판 그룹명
  BGPARENT INT(11),							-- 게시판 그룹 부모
  BGDELETEFLAG CHAR(1),						-- 삭제 여부
  BGUSED CHAR(1),								-- 사용 여부
  BGREPLY CHAR(1),							-- 댓글 사용여부
  BGREADONLY CHAR(1),							-- 글쓰기 가능 여부
  BGDATE DATETIME,							-- 생성일자
  PRIMARY KEY (BGNO)
);

\board\src\main\webapp\WEB-INF 폴더에 있는 applicationContext.xml에서 적절한 DB 접속 정보를 입력하고 실행하면 된다.