1. 마이바티스(MyBatis)란?
쿼리 기반 웹 애플리케이션을 개발할 때
가장 많이 사용되는 SQL Mapper 프레임워크
마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해준다.
2. 의존성 주입 : dependency 추가
DB에 대한 dependency는 따로 추가해줘야 한다.
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- Spring 연동 : mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- Spring 연동 : spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
- Maven : mybatis
- Maven : mybatis-spring
https://mvnrepository.com/artifact/org.mybatis/mybatis-spring
- Maven : spring-jdbc
https://mvnrepository.com/artifact/org.springframework/spring-jdbc
3. Spring에 MyBatis 연동하기
1) root-context.xml에 추가
typeAliasesPackage를 쓰면 쿼리문에서 사용할 객체의 이름을 조작할 수 있다.
<!-- sqlSessionFactory 추가 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="domain이 있는 패키지" />
</bean>
<!-- mapper 자동 스캔 -->
<mybatis-spring:scan base-package="mapper가 있는 패키지" />
2) mapper.java 파일 생성
mapper는 interface로 정의해야 한다.
3) mapper.xml 파일 생성
mapper.java 파일과 mapper.xml 파일의 이름은 일치해야 한다.
<!-- 마이바티스3 버전 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="com.crizen.mapper.BoardMapper">
<!-- 쿼리문 작성 -->
</mapper>