[스프링 팁] MyBatis 환경 세팅하기 (3) - 데이터베이스 연동하여 결과 출력해보기(controller를 이용한 web-database연동) :: 소림사의 홍반장!

관련글

 

 

 

앞에서 세팅을 제대로 따라왔다면 아래 도표대로

sqlSession, sqlSessionFactory, dataSource의 관계가 정의 되어있어야 한다.

 

 

 

그러면 앞에서 만들었던 HelloController를 통해 데이터베이스를 연동하여 Web으로 출력하여 보자.

 

HelloController.java 를 아래처럼 수정한다.

package kr.co.khi.controller;

 

import javax.servlet.http.*;

 

import kr.co.khi.dao.*;

 

import org.springframework.beans.factory.annotation.*;

import org.springframework.web.servlet.*;

import org.springframework.web.servlet.mvc.*;

 

public class HelloController implements Controller {

   

    @Autowired

    private HelloDao dao;

 

    public ModelAndView handleRequest(HttpServletRequest request,

            HttpServletResponse response) throws Exception {

       

        String name = dao.getName();

       

        response.setCharacterEncoding("utf-8");

        response.getWriter().println("<h1>안녕하냐~ 배고푸다~"+name+"</h1>");

        return null;

    }

 

}

 

 

 

데이터베이스와의 연동을 책임질 HelloDao 클래스를 만든다

 

 

 

HelloDao.java 의 내용을 입력한다.

package kr.co.khi.dao;

 

import org.apache.ibatis.session.*;

import org.springframework.beans.factory.annotation.*;

import org.springframework.stereotype.*;

 

// DAO 위에는 @Repository를 넣어줘야 한다.

@Repository

public class HelloDao {

   

    @Autowired

    private SqlSession mapper;

 

    public String getName() {

       

        return mapper.selectOne("test.getName");

    }

}

 

 

 

mapper 패키지를 만든다.

 

 

 

 

생성한 mapper 패키지에 sql문 처리를 위한 test.xml 파일을 만든다.

 

 

 

 

 

 

test.xml 의 내용을 입력한다.

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

<mapper namespace="test">

        <select id="getName" resultType="String">

               select ename from emp where mgr is null

               <!-- 결과값 : KING -->

        </select>

</mapper>

다른 카테고리의 글 목록

Dev. 스프링/환경세팅 카테고리의 포스트를 톺아봅니다