본문 바로가기

MyBatis

[MyBatis] 마이바티스 구조

반응형

 ■ 마이바티스 구조




ㅁ 설정파일(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개 내외)

 스프링 연동

 -. 스프링 자체 구현체 사용

 -. 마이바티스 별도 모듈 사용

 지원계획

 -. 향후 아이바티스에 대한 공식적인 릴리스는 없을 것으로 보임

 -. 향후 계속 개선돼 릴리스될 예정



반응형