MyBatis 는 고급(SQL, 저장프로시저) 매핑을 지원하는 퍼시스턴스 프레임워크이다.
SQL문을 프로그램에서 분리하여 XML 파일에 별도로 작성함
MyBatis 는 JDBC 코드와 수동으로 셋팅하는 파라미터와 결과 매핑을 제거한다.
MyBatis 는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그릭고 자바 POJO 를 설정하고 매핑하기 위해 XML 과 애노테이션을 사용할 수 있다.
특징
JDBC 프레임워크이다.
개발자는 SQL을 작성, 마이바티스는 JDB를 사용하여 실행
JDBC를 사용할 때의 예외처리 구문(try~catch)를 사용할 필요가 없다.
SQL 매퍼다(조회 결과를 객체로 자동으로 매핑)
객체 프로퍼티를 Prepared구문의 파라미터로 자동으로 매핑한다.(기본적으로 PreparedStatement 구조이다.)
중복쿼리에 대한 관리를 효율적으로 할 수 있다. (include)
트렌잭션을 관리
스프링 같은 외부 트랜잭션 관리자를 사용할 수 있다.
스프링 연동 모듈을 제공하여 스프링과 연동할 수 있다
일반적으로 Map<>으로 파라미터로 받고 출력을 DTO로 함 (반환 타입 Map, DTO 권장함)
DBTO 출력시 DTO에 설정한 변수명과 매퍼에 설정된 쿼리문의 출력값은 반드시 일치 (이름으로 판단)
delete의 경우 반환값을 지정하지 않아도 기본 반환타입(int)으로 반환함.
설정
Maven을 이용하여 MyBatis 라이브러리 다운로드
pom.xml의 JDBC,MyBatis 항목 참고
library 상호 관계 : spring-jdbc------ mybatis-spring ------ mybatis
MyBatis와 DB(데이터베이스) 연결 설정
(DB 커넥션 정보를 담고 있는) 설정 .xml 파일 생성
Web.xml의 contextConfigLocation 설정 - 설정파일 위치(path) 지정
MyBartis 와 spring 연결
resource 폴더에 mapper 폴더를 생성
resource > config > spring 폴더에 context-mapper.xml 파일을 생성
context-mapper.xml에 mapper 정보 작성