이번 포스팅에서는 MyBatis를 설정하고 Spring과 MyBatis, DB 서버가 제대로 연결이 되었는지까지 확인해보도록 하겠습니다.
MyBatis를 사용하기 위해서는 mybatis-spring과 mybatis 라이브러리가 필요합니다.
Maven Repository 사이트에 접속해서 mybatis-spring과 mybatis를 검색합니다.
Maven Dependency 코드를 복사해서 pom.xml에 붙여넣기 합니다.
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
Mybatis와 스프링 연동 작업에서 가장 중요한 객체인 sqlSessionFactory를 사용할 수 있게 설정하도록 하겠습니다.
src/main/webapp/WEB-INF/spring/root-context.xml에 들어가 다음과 같이 설정합니다.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
dataSource 설정은 다음을 참조하세요.
[JDBC] Spring Maven 프로젝트에 MS-SQL Server 2019 JDBC Driver 설정 방법
이번 포스팅에서는 Spring Maven 프로젝트를 생성 후 MS-SQL과 연결하는 과정을 설명드리겠습니다. MS SQL Server 2019 JDBC Driver 정보가 있는 다음 사이트에 접속합니다. docs.microsoft.com/en-us/sql/connec..
grand-unified-engine.tistory.com
MyBatis는 SQL Mapping Framework로 Spring과 별도의 설정 파일을 가질 수 있습니다.
src/main/resources 아래 config 폴더를 만들고 mybatis-config.xml 파일을 생성합니다.
mybatis-config.xml파일에 다음을 입력합니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>
mybatis-config.xml에 추가로 설정할 것들이 있는데 다음 포스팅 때 하기로 하고 이번 포스팅에서는 기본설정만 하도록 하겠습니다.
이렇게 만든 mybatis-config.xml파일을 Spring Framework에서 사용할 수 있게 root-context.xml 파일을 다음과 같이 수정합니다.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:/config/mybatis-config.xml"></property>
</bean>
지금까지 Mybatis 기본 설정을 마쳤습니다.
마지막으로 정상적으로 스프링에서 Mybatis와 DB 서버가 잘 연결되는지 확인해보도록 하겠습니다.
JUnit Test Case로 테스트 자바파일을 생성합니다.
테스트 자바 파일에 다음과 같이 입력합니다.
import javax.inject.Inject;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/spring/root-context.xml"})
public class MyBatisTest {
//SqlSessionFactory 객체를 자동으로 생성
@Inject
private SqlSessionFactory sqlFactory;
//SqlSessionFactory 객체가 제대로 만들어졌는지 Test
@Test
public void test() {
System.out.println(sqlFactory);
}
//MyBatis와 DB 서버가 제대로 연결되었는지 Test
@Test
public void testSession() throws Exception{
try(SqlSession session = sqlFactory.openSession()){
System.out.println(session);
}catch(Exception e) {
e.printStackTrace();
}
}
}
<Ctrl> + <F11>을 눌러서 결과를 확인하도록 하겠습니다.
콘솔창에 다음과 같이 출력되는 것을 볼 수 있습니다.
잘 연결된 것을 확인할 수 있습니다.
'Programming > Spring Framework' 카테고리의 다른 글
[MockMvc] Spring Framework servlet test(VO에 임의 데이터만 넣고 controller 테스트) (0) | 2020.12.23 |
---|---|
[HikariCP] Hikari Connection Pool 속도 체감 (0) | 2020.12.15 |
[JUnit] 스프링프레임워크(SpringFramework) 메이븐(Maven) 테스트 환경 설정 (0) | 2020.12.14 |
[JDBC] Spring Maven 프로젝트에 MS-SQL Server 2019 JDBC Driver 설정 방법 (0) | 2020.12.11 |
[STS4] The all-new Spring Tools Suite 4 설치(windows기준) (0) | 2020.12.10 |