MyBatis
- 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해 xml로 구조화한 Mapper 설정 파일을 통해 JDBC를 구현한 영속성 프레임워크.
- 기존에 JDBC를 통해 구현했던 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 xml 설정을 통해 쉽게 구현할 수 있다.
MyBatis 동작 흐름
- 기존에 JDBCTemplate을 통해 SQL을 실행했었다면,
MyBatis는 해당 과정전용 라이브러리를 통해 대체해 동작한다.
MyBatis 설정 파일은 @Mapper 어노테이션을 통해 인터페이스를 DAO로 인식하여 SQL 매핑 처리 해준다.
XML 파일
sts4 에서는 XML 파일을 만들 수 있는 생성 마법사가 없다.
Help 탭 -> MarketPlace -> Eclipse XML Editors and Tools 를 검색하고 설치한다.
MyBatis를 활용하기 위한 DTD 추가
DTD(Document Type Definition) : 문서 타입 정의
Windows - Preferences - XML - XML Catalog - User Specified Entries - Add
* Config
Location : http://mybatis.org/dtd/mybatis-3-config.dtd
Key type : Public ID
Key : -//mybatis.org//DTD Config 3.0//EN
* Mapper
Location : http://mybatis.org/dtd/mybatis-3-mapper.dtd
Key type : Public ID
Key : -//mybatis.org//DTD Mapper 3.0//EN
mapper.xml
* id : 구문을 찾기 위해 사용될 수 있는 네임스페이스 내 유일한 구분자. Mapper 인터페이스의 메서드명은 동일하게 작성한다.
* parameterType : 구문에 전달될 파라미터의 클래스명(패키지 경로 포함)이나 별칭.
* resultType : 리턴되는 타입의 패키지 경로를 포함한 전체 클래스명이나 별칭, collection인 경우 list,arraylist로 설정할 수 있다.
MyBatis에서 제공하는 Java 기본 자료형/객체 별칭
MyBatis : Java
_byte : byte
_long : long
_short : short
_int / _integer : int
_double : double
_float : float
_boolean : boolean
string : String
byte : Byte
long : Long
short : Short
int / Integer : Integer
double : Double
float : Float
boolean : Boolean
date : Date
object : Object
map : Map
hashmap : HashMap
list : List
arraylist : ArrayList
collection : Collection
iterator : Iterator