■ 마이바티스 구조
ㅁ 설정파일(mybatis-config.xml) : 데이터베이스 설정과 트랜잭션 등 마이바티스가 동작하는 규칙을 정의한다.
ㅁ 매퍼 :SQL을 XML에 정의한 매퍼 XML 파일(1개 이상)과 SQL을 인터페이스의 메소드마다 애노테이션으로 정의한 매퍼 인터페이스(1개 이상)를 의미한다.
ㅁ 결과 매핑과 매핑 구문 : 조회 결과를 자바 객체에 설정하는 규칙을 나타내는 결과 매핑과 SQL을 XML에 정의한 매핑 구문을 말한다.
매핑 구문을 정의하는 방법은 애노테이션과 XML 방식 두가지가 있다.
ㅁ 지원하는 파라미터 타입 : Map객체, Java 모델 클래스, 원시타입(int, String 등)이 있다.
ㅁ 지원하는 결과 타입 : Map객체, Java 모델 클래스, 원시 타입(int, String 등)이 있다.
※ JDBC와 MyBatis의 비교
① 마이바티스 코드는 매번 데이터베이스 자원을 생성하고 해제하기 위한 코드가 필요하지 않다.
② 파라미터를 설정하기 위한 코드가 거의 없다.
③ 결과셋을 가져와서 값을 설정하는 코드가 거의 없다.
④ SQL이 자바 코드 내의 문자열로 처리되는 반면에 마이바티스는 SQL을 XML이나 인터페이스 내의 애노테이션으로 별도 관리한다.
나중에 SQL만 별도로 보고자 할 때 편리하다.
⑤ 마이바티스를 구성하는 구성 요소는 5가지로, 설정 파일, 매퍼, 결과 매핑과 매핑구문, 파라미터 타입, 결과 타입이다.
※ iBatis와 MyBatis의 비교
구분 |
iBatis |
MyBatis |
네임스페이스 |
-. 선택사항 |
-. 필수사항 |
매핑 구문 정의 |
-. XML만 사용 |
-. XML과 애노테이션 사용 |
동적 SQL |
-. XML 엘리먼트만 사용 (동적 SQL을 위한 XML 엘리먼트는 16개 내외) |
-. XML 엘리먼트 및 구문 빌더 사용 (동적 SQL을 위한 XML 엘리먼트는 4개 내외) |
스프링 연동 |
-. 스프링 자체 구현체 사용 |
-. 마이바티스 별도 모듈 사용 |
지원계획 |
-. 향후 아이바티스에 대한 공식적인 릴리스는 없을 것으로 보임 |
-. 향후 계속 개선돼 릴리스될 예정 |
'MyBatis' 카테고리의 다른 글
[MyBatis] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException (0) | 2014.10.27 |
---|---|
[MyBatis] org.apache.ibatis.exceptions.PersistenceException 에러 (0) | 2014.09.12 |
[MyBatis] 마이바티스 설정 파일 (0) | 2013.09.25 |