HelloZ

(3-1) 스프링_Mybatis 설정하기 본문

웹 공부/- Spring Framework

(3-1) 스프링_Mybatis 설정하기

헬로z 2019. 8. 9. 15:32

이번에는 Mybatis와 Transactional을 활용하여 User 가입, 삭제, 수정 등의 기능을 구현 해보았다.

 

우선 Mybatis가 무엇인지 알아보도록 하자!


- Mybatis

– 아파치 소프트웨어 재단의 iBatis개발자팀이 구글 코드로 이전하기로 결정하고 구글 코드에서 새로이 만들어지는 이름이 MyBatis로 변경 되었다.
– MyBatis는 개발자가 지정한 SQL, 저장프로시저, 그리고 몇가지 고급 매핑을 지원 하는 퍼시스턴스 프레임워크이다.
– MyBatis는 JDBC 코드와 수동으로 셋팅하는 파라미터와 결과 매핑을 제거한다.
– MyBatis는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 Object를 설정하고 매핑하기 위해 XML과 애노테이션을 사용할 수 있다.

와같은 설명으로 나와있는데 쉽게말하면 DB연동을 쉽게 도와준다는 의미이다.

Mybatis를 사용하기 위해서는 몇가지 설정을 해주어야 한다.

- Pom.xml에 dependency추가

<!– Spring jdbc -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>4.2.0.RELEASE</version>
</dependency>
<!-- Apache Commons -->
<dependency> 
	<groupId>commons-dbcp</groupId>
	<artifactId>commons-dbcp</artifactId>
	<version>1.4</version>
</dependency>
<!-- MySQL Connector -->
<dependency> 
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.34</version>
</dependency>
<!-- MyBatis -->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
	<version>3.2.8</version>
</dependency>
<dependency> 
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
	<version>1.2.2</version>
</dependency>

- /src/resources/common에 mybatis.xml 추가

<?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>
	<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>

- spring 설정 파일에 다음과 같이 추가(services.xml)

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="${jdbc.driverClassName}" />
	<property name="url" value="${jdbc.url}" />
	<property name="username" value="${jdbc.username}" />
	<property name="password" value="${jdbc.password}" />
</bean>
<!-- MyBatis -->
<mybatis:scan base-package="koreatech.cse.repository" />
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="configLocation" value="classpath:mybatis.xml" />
</bean>

- config.properties에 다음과 같이 추가(DataSource 정보)

jdbc.driverClassName = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/webservice?characterEncoding=utf8&useUnicode=true&mysqlEncoding=utf8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
jdbc.username = root
jdbc.password = 비밀번호

- 여기서 Mysql 버전에 따라 jdbc.driverClassName이 달라지게 된다.

- 5.7이후 버전에서는 위와 같이 클래스네임을 설정 해주면 되고 5.7이하 버전에서는 com.mysql.jdbc.Driver으로 해주어야 한다.


- Mybatis를 사용하기 위한 설정을 다 해주었다. 이제는 User 정보를 삽입, 수정, 삭제를 해보도록 하겠다. (2편에서)

Comments