ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 게시판 만들기 #4 스프링과 데이터베이스 연동
    Web Programming/Spring 게시판 프로젝트 2020. 9. 8. 18:45
    반응형

    데이터를 전달할 때 사용할 수 있는 방식은 3가지가 있다.

     

    1. 메소드의 파라미터로 정의 후 전달

    public void write(String title, String content) {
    ...
    }
    
    write("제목1","내용1");

    2. Map(혹은 HashMap)에 담아 이를 파라미터로 전달

    public void write(Map<String, String> param) {
    ...
    }
    
    Map<String, String> param = new HashMap<String, String>();
    param.put("title","제목1");
    param.put("content","내용1");
    
    write(param);

    3. VO(Value Object)에 담아 이를 파라미터로 전달

    public class BoardVO {
    	private String title;
    	private String content;
    	//getter and setter는 생략
    }
    
    public void write(BoardVO param) {
    ...
    }
    
    BoardVO param = new BoardVO();
    param.setTitle("제목1");
    param.setContent("내용1");
    
    write(param);

    1번의 방법의 경우 코드의 즉각적 수정이 불가능해 사용되지 않는다. 일반적으로 2번과 3번 중 선택을 하여 데이터를 받아오는데 이번 프로젝트에서는 2번을 활용하여 데이터 연동을 해보려한다.

     

    데이터 연동을 위해서는 우선 MyBatis와 Spring간의 연동이 필요하다.

    WEB-INF의 하위 폴더 spring에서 root-context.xml을 찾아 Namespaces를 다음과 같이 설정해준다.

    beans, contextm jdbc, mybatis-spring을 체크해서 사용할 수 있게 만든다.

    source 탭으로 이동하여 <beans> 태그 내부에 다음과 같은 코드를 추가해준다.

    <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
    	<property name="driverClassName" value="org.mariadb.jdbc.Driver" />
    	<property name="url" value="jdbc:mariadb://127.0.0.1:3306" />
    	<property name="username" value="kuzuro" />
    	<property name="password" value="1111" />
    </bean>
    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    	<property name="dataSource" ref="dataSource" />
    	<property name="configLocation" value="classpath:/mybatis-config.xml" />
    	<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml" />
    </bean>
    
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
    	<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

    복잡하게 생각할 것 없이 데이터베이스 접속을 위한 코드라고 생각하고 사용하자. 여기서 username과 password는 자신의 데이터베이스와 연결해준다.

     

     

    반응형
Designed by Tistory.