- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
Bigfat
[Spring] MyBatis Mapper 파일 설정 방법 본문
MyBatis Mapper XML 파일 설정 2가지 방법
1. MyBatis Config 파일에서 설정하는 방법
기존 게시판 프로젝트에서 사용하는 방법으로, 마이바티스 설정 파일인 mybatisConfig.xml에 작성하는 방식이다. <mappers>의 하위 엘리먼트 <mapper>의 resource 속성으로 매퍼 파일의 경로를 지정해주며, 매퍼 파일이 늘어날 때마다 추가해줘야 한다. resource 속성은 서블릿 설정 파일인 servlet-context.xml에 /resource/로 설정되어 있으므로 아래와 같이 /resource/ 아래 경로부터 지정해주면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- http://www.mybatis.org/mybatis-3/ko/configuration.html --> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="false"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25000"/> <setting name="mapUnderscoreToCamelCase" value="true"/> <setting name="jdbcTypeForNull" value="VARCHAR"/> <!-- <setting name="callSettersOnNulls" value="true" /> --> </settings> <typeAliases> <typeAlias alias="article" type="com.edu.bbs.dto.BBSDto"/> <typeAlias alias="comment" type="com.edu.comment.dto.CommentDto"/> </typeAliases> <!-- MyBatis mapper 파일이 추가될 때마다 지정해줘야 . --> <mappers> <mapper resource="com/edu/mapper/bbs/bbs.xml"/> <mapper resource="com/edu/mapper/comment/comment.xml"/> </mappers> </configuration> | cs |
2. Root Application Context 파일에서 설정하는 방법
루트 어플리케이션 컨텍스트 파일인 root-context.xml에서 SqlSessionFactory를 bean으로 등록할 때 property로 매퍼 파일들의 경로를 설정하는 방법이다. <property>의 name 속성으로 mapperLocations를, value로 매퍼 파일의 경로를 지정해준다. classpath: 접두사는 접두사 이후의 경로를 src와 resources 순으로 찾는다. 와일드카드 *를 사용해 여러 파일을 동시에 지정할 수 있기 때문에 매퍼 파일이 늘어나더라도 추가적으로 작성할 필요가 없다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:db.properties"></property> </bean> <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource"> <property name="driverClassName" value="${driverClassName}"></property> <property name="url" value="${url}"></property> <property name="username" value="${username}"></property> <property name="password" value="${password}"></property> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:/mybatisConfig/mybatisConfig.xml"></property> <!-- 런타임 시 SqlSessionFactory에 MyBatis mapper 파일들의 경로가 설정된다. --> <property name="mapperLocations" value="classpath:/com/edu/mapper/**/*.xml" /> </bean> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg ref="sqlSessionFactory"></constructor-arg> </bean> </beans> | cs |
반드시 두 방법 중 하나만 사용해야 하며, 마이바티스 설정 파일과 루트 어플리케이션 컨텍스트에 모두 작성되어 있다면 서버 구동 시 Context initialization failed된다.
'Java > web' 카테고리의 다른 글
[모델2] 단일 파일 다운로드 구현하기 (게시판 구현) (0) | 2017.05.01 |
---|---|
[모델2] Multipart를 이용한 단일 파일 업로드 구현하기 (게시판 구현) (0) | 2017.05.01 |
[Spring] JUnit 사용하기 (0) | 2017.04.26 |
[Spring] Jackson 라이브러리를 사용해 댓글 쓰기 구현하기 (게시판 구현) (0) | 2017.04.25 |
[Spring] MyBatis 사용하기, SqlSession (게시판 구현) (0) | 2017.04.25 |