모아이티

[게시판 만들기] 코드로 배우는 스프링 웹 프로젝트 Part3 - Day1 CRUD 구현 본문

Spring 게시판 만들기

[게시판 만들기] 코드로 배우는 스프링 웹 프로젝트 Part3 - Day1 CRUD 구현

Yun's kitchen 2021. 3. 7. 12:51

각 영역 네이밍 규칙

  • xxxController : 스프링 MVC에서 동작하는 Controller 클래스
  • xxxService, xxxServiceImpl : 비즈니스 영역을 담당하는 인터페이스는 'xxxService'라는 방식을 사용하고, 인터페이스를 구현한 클래스는 'xxxServiceImpl'이라는 이름을 사용
  • xxxDAO, xxxRepository : DAO(Data-Access-Object)나 Repository(저장소)라는 이름으로 영역을 따로 구성하는 것이 보편적, 예제에서는 별도의 DAO를 구성하는 대신에 MyBatis의 Mapper 인터페이스를 활용. (학원에서는 DAO를 사용했지만 이번 게시판만들기부터는 Mapper Interface를 사용예정)
  • VO 의 경우는 주로 Read Only의 목적이 강하고, 데이터 자체도  Immutable(불변)하게 설계.
  • DTO는 데이터 수집용도

와이어 프레임

DB 셋팅

--일련 번호를 위한 시퀀스 생성--
create sequence seq_board; 

-- 게시물 저장을 위한 테이블 생성
create table tbl_board( 
bno number(10,0),
title varchar2(200) not null,
content varchar2(2000) not null,
writer varchar2(50) not null,
regdate date default sysdate,
updatedate date default sysdate
);

-- 게시물의 PK 지정
alter table tbl_board add constraint
pk_board
primary key(bno);

--더미 데이터 추가
insert into tbl_board(bno, title, content, writer)
values (seq_board.nextval, '테스트 제목', '테스트 내용', 'user00');

select * from tbl_board;

 

프로젝트 생성 및 준비

  • Spring Legacy Project의 생성
  • pom.xml에서 스프링 버전 5.2.7버전 및  jdk 1.8로 변경
  • Spring-test, Spring-jdbc, Spring-tx 추가
  • junit 버전 변경
  • Servlet 버전 변경
  • HikariCp, Mybatis, mybatis-spring, Log4jdbc 추가
  • JDBC 드라이버 프로젝트 내 추가
  • 기타 Lombok의 설정 등

Comments