-
나프 - 게시판 만들기(1)Web/Spring 2023. 8. 2. 21:05
1. 3-Tier 방식의 이해
- Spring에서 DB 작업 간소화로 사용자 요구사항을 반영하고, 컨트롤러 비대해지는 것을 방지하기 위해
- Presentation Tier <-Business Tire -> Persistence Tire의 3개의 Tire로 나누어 요청을 처리한다.
Presentation: 웹/화면 계층, Controller(FrontController+POJO),JSP를 이용한 VIEW구성 담당
Business Tire : 비지니스 계층, 고객 요구사항 반영
로직을 기준으로 처리 (메서드 이름은 현실적인 로직의 이름을 붙이는 것이 관례이다.)
등록,회원검색,수정,삭제 등 Presentation 계층을 통해 메시지를 받고 DB와 협력하여 로직을 처리
Persistence Tire: 영속계층, 데이터에 대한 CRUD
VO클래스 생성
Mapper 인터페이스 + XML파일
DB를 기준으로 메서드 이름을 설계
비지니스계층과 협력
2. Spring 환경설정 (DB설정)
- 스프링 버전 4.2.4 버전
- java는 1.8버전
2.1 DB 관련 생성
> 게시판 테이블을 미리 만들어 두자
create table tb_board( idx int not null auto_increment, title varchar(100) not null, contents varchar(4000) not null, count int, writer varchar(30) not null, indate datetime default now() not null, primary key(idx) );
> 다음으로 테이블과 매칭되는 VO객체를 만들자
public class BoardVO { private int idx; private String title; private String contents; private int count; private String writer; private String indate; //날짜와 String은 호환가능 // toString, getter, setter 등 추가 }
> Mapper Interface 및 xml파일 설정
public interface BoardMapper { public List<BoardVO> getList();//게시물 가져오기 public void insert(BoardVO board); // 게시물 등록 public BoardVO read(int bno); //게시물 상세보기 public int delete (int bno); // 게시물 삭제 public int update (BoardVO board);//게시물 수정 }
- xml파일은 mybatis 사이트를 참고해서 만들었다.
namespace와 인터페이스명 - sql태그 id와 메서드명이 일치하도록 하자
2.2 DB관련 스프링 환경설정
- root xml파일에 mybatis,JDBC,db properties 관련 설정과 mapper 패키지를 스캔해서 스프링 컨테이너에
등록시켜두어야 한다.
<!-- Mybatis sqlsessionFacroty --> <!-- @Mapper보고 xml의 namespace와 인터페이스 이름보고 연결시켜줌 --> <bean id ="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="/WEB-INF/mybatis/config.xml" /> </bean> <!-- JDBC연결(DataSource) --> <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </bean> <!-- db.properties 파일 연결 --> <bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations" value="/WEB-INF/mybatis/db.properties"/> </bean> <!-- @Mapper와 mapper.xml파일 스캔--> <mybatis-spring:scan base-package="kr.inflearn.mapper"/> 1. </beans>
- 다음으로 config.xml파일과 DB.properties 파일을 만들자 각각의 파일에는 타입앨리어스, Datasource생성을 위한 정보를 등록 해둔다.
- 그 후에 DB와 관련된 api를 메이븐을 통해 다운받자
참고자료: 나프2탄(박매일) - 인프런
https://www.inflearn.com/course/%EB%82%98%ED%94%84-mvc-2
'Web > Spring' 카테고리의 다른 글
나프 - 게시판 만들기 (3) (0) 2023.08.03 나프 - 게시판 만들기(2) (0) 2023.08.02 Spring MVC02 - 다중파일 업로드 (0) 2023.06.30 Spring MVC02 - Ajax MemberList (0) 2023.06.29 Spring MVC02 - 어노테이션을 이용한 Mapper 인터페이스 사용 (0) 2023.06.29