mybatis.org의 mybatis 소개 및 사용법
간단히 mybatis에 대해 정리하고 spring과 함께 사용하는 방법을 정리했습니다.
SQL 매핑 프레임워크입니다. DB에 접근할 때,JDBC를 직접 다루지 않아도 되도록 사용하기 편한 인터페이스를 제공합니다. mybatis를 사용하면 JDBC에선 직접 해야했던 여러 가지를 자동으로 해주고, SQL문에 더 집중할 수 있습니다.
Mybatis에서 가장 핵심인 객체는 SQLSession입니다. SQLSessionFactory는 SQLSession을 만드는 것입니다.
Mapper는 SQL에 대한 처리를 지정합니다.
Mybatis-Spring 을 이용하는 경우, 인터페이스와 XML,어노테이션으로 작성할 수 있습니다. Mapper 인터페이스를 보고 mybatis가 SQL을 자동으로 생성해서 알아서 처리해줍니다.
maven을 사용한다면 pom.xml에 다음 설정을 추가하면 됩니다.
1번이 mybatis.jar이고 2,3,4번은 spring과 함께 쓰기 위해 필요한 것입니다.
mybatis는 JDBC와의 인터페이스입니다.
mybatis-spring은 spring과의 연동을 편하게 하는 인터페이스입니다.
Mapper 인터페이스를 만듭니다. 이 인터페이스를 보고 mybatis는 SQL문을 찾아서 만들어 줄 것입니다. 아래는 인터페이스 예시입니다.

@Configuration이 붙은 설정 클래스에 Mybatis가 Mapper 인터페이스를 인식할 수 있도록 설정합니다.
@MapperScan을 이용해서 스캔할 패키지를 지정해줍니다.

이제 Mybatis-Spring이 Mapper 인터페이스를 보고 SQL 처리를 알아서 해줄 수 있습니다.
DTO(VO)를 만들고,mapper interface와 xml을 이용한 mybatis로 DB의 데이터를 다뤄봅니다.
간단한 DTO 클래스를 만듭니다.
lombok의 @Data 어노테이션을 이용합니다.
생성자와 getter/setter를 모두 만들어줍니다.
필요한 SQL에 해당하는 메서드를 등록합니다.
insert,read,delete,update 메서드를 등록합니다.
DTO 클래스의 속성명을 이용할 수도 있습니다.
mapper xml 파일에 실제적인 SQL문을 작성해두고 mapper 인터페이스와 연결해둡니다. 그러면 나머지는 mybatis가 알아서 다 해줍니다.
<?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.roon.mapper.BoardMapper">
구현 예시입니다.
