SPRING - Mybatis 사용하기(2)

저번 포스팅에서 Mybatis 사용을 위해 pom.xml에

의존 주입을 해줬습니다. 이번엔 스프링 설정 파일

 servlet-context.xml 에 Mybatis 사용을 위한

bean 생성 해줍니다


1
2
3
4
5
6
7
8
<beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <beans:property name="dataSource" ref="dataSource"></beans:property>
        <beans:property name="mapperLocations" value="classpath:com/spring/ex/dao/mapper/*.xml"></beans:property>
    </beans:bean>
    
    <beans:bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <beans:constructor-arg index="0" ref="sqlSessionFactory"></beans:constructor-arg>
    </beans:bean>
cs


3line dao객체의 경로 를 value에 넣어줍니다

프로젝트 마다 경로가 다를수 있습니다. 어떻게 설정하냐에 따라


6line 에서 sql세션 빈 생성합니다.


다음 dao패키지 안에 mapper폴더 만든후

IDao.xml 만들어줍니다




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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="com.spring.ex.dao.IDao">
    <select id="listDao" resultType="com.spring.ex.dto.ContentDto">
        SELECT * FROM BOARD ORDER BY MID DESC
    </select>
    
    
    <insert id="writeDao">
        
    </insert>
    
    
    <delete id="deleteDao">
    
    </delete>
    
    
</mapper>
 
cs

7line 의 id 는 저번 포스팅에서 만든 IDao.java
의 인터페이스 명입니다. resultType은 "어떤 데이터 타입으로 가져와라"
라고 생각하면 쉽습니다. 전체 경로를 적어줘야합니다

다음 컨트롤러에서 sql세션 사용을 위해 객체 생성합니다


다음 list 부분 수정해줍니다


1
2
3
4
5
6
7
8
9
10
@RequestMapping("/list")
    public String list(Model model) {
        
        IDao dao = sqlSession.getMapper(IDao.class);
        //ArrayList<ContentDto> dtos = dao.listDao();
        model.addAttribute("list", dao.listDao());
        //model.addAttribute("list", dtos);
        
        return "/list";
    }
cs


기존에는 ArrayList 타입의 dto 를 가져왔습니다

이때 dao 안의 listDao를 호출했습니다

이안에는 jdbc 템플릿 이용해서 db접근을해서

데이터를 가져와서 데이터를 dto에 담고

그 dto를 다시 ArrayList타입 에 담아서 return을해줬습니다

하지만 지금은 4line 과 6line을 사용해서

위에서 만든 mapper 이 실행됩니다. 

다음 dao에서 dao.listDao로 원하는 모델에

데이터를 담아올수 있습니다.

4line 에서 sqlSession은 IDao.xml 안의 소스들을 뜻합니다


이렇게 dao를 사용하지 않고 인터페이스를 사용해서

xml 파일로 데이터베이스에 접근 하는것을 했습니다.


다음 포스팅에서 Mybatis 마무리 하겠습니다.




'SPRING' 카테고리의 다른 글

JSON.stringify(); JSON.parse();사용하기  (0) 2018.03.02
SPRING - Mybatis 사용하기(3)  (0) 2018.02.13
SPRING - Mybatis 사용하기(1)  (0) 2018.02.13
SPRING - 스프링 트랜잭션(3)  (0) 2018.02.08
SPRING - 스프링 트랜잭션(2)  (0) 2018.02.08

댓글

Designed by JB FACTORY