- 여러 형태의 카테고리 구현
- 이름은 동일하나, 각 카테고리별로 다른 공지사항 게시판 포함
- 동일한 게시판이나, 각각 다른 카테고리에 소속되는 익명 게시판 포함
- 카테고리 식별자 및 카테고리명으로 검색 가능
- 카테고리 검색 시, 카테고리의 하위 카테고리까지 조회 가능
- Json 구조로 변환 가능
💡 category 테이블의 parent_idx 컬럼은 상위 카테고리 식별번호를 의미하며, 재귀 호출을 통해 카테고리 계층을 조회함.
💡 board 테이블은 category 테이블의 PK인 cno를 FK로 가지고 있어, 각 카테고리별 게시물 작성 및 조회 가능함.
test-board
├── README.md
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── test
│ │ └── board
│ │ ├── common
│ │ │ └── config
│ │ │ └── JsonConfig.java
│ │ ├── controller
│ │ │ ├── CategoryController.java
│ │ │ └── HomeController.java
│ │ ├── dao
│ │ │ ├── CategoryDao.java
│ │ │ └── CategoryDaoImpl.java
│ │ ├── domain
│ │ │ └── CategoryDto.java
│ │ └── service
│ │ ├── CategoryService.java
│ │ └── CategoryServiceImpl.java
│ ├── resources
│ │ ├── application.properties
│ │ ├── mapper
│ │ │ └── categoryMapper.xml
│ │ └── mybatis-config.xml
│ └── webapp
│ ├── WEB-INF
│ │ ├── spring
│ │ │ ├── appServlet
│ │ │ │ └── servlet-context.xml
│ │ │ └── root-context.xml
│ │ ├── views
│ │ │ └── index.jsp
│ │ └── web.xml
│ └── resources
└── test
└── java
└── com
└── test
└── board
├── dao
│ └── CategoryDaoImplTest.java
└── service
└── CategoryServiceImplTest.java
IntelliJ | Git | Github | Maven |
---|---|---|---|
Java | Spring Framework | MyBatis | JUnit |
---|---|---|---|
HTML/CSS/JS | jQuery | Json | JSP | Ajax |
---|---|---|---|---|
MySQL |
---|
Apache Tomcat |
---|
- 제목 첫글자는 대문자 사용
- 제목 마침표 미포함
- 제목과 본문은 빈 행으로 구분
- 제목 명령문으로 작성
- 제목 50자 이내로 간결하게 작성
[Feat] : 새로운 기능 추가
[Test] : 테스트 코드 완료
[Docs] : 문서 추가 또는 수정 (ex. README 변경)
[Chore] : 패키지 매니저(ex. gitignore 수정), 빌드 업무 수정
[Refactor] : 리팩토링, 코드 개선
[Fix] : 버그 수정
[Style] : 코드 스타일 변경 (포맷팅, 세미콜론 누락 등 코드 변경이 없는 경우)
[Comment] : 주석 추가 및 수정
[Rename] : 파일 또는 폴더명을 수정하거나 이동하는 작업만 수행한 경우
[Remove] : 파일을 삭제하는 작업만 수행한 경우
[Conflict] : 합병 시 발생한 충돌 수정