ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 나프 - 게시판 만들기(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

     

    [NarP Series] MVC 프레임워크는 내 손에 [나프2탄] - 인프런 | 강의

    본 과정은 WEB MVC 프레임워크가 무엇이고 WEB MVC 프레임워크가 어떻게 변형이 되면서 Spring WEB MVC 프레임워크로 넘어가는지 TPC(생각하고-표현하고-코딩하고) 기법을 통해 단계적으로 학습하고 이

    www.inflearn.com

     

Designed by Tistory.