MyBatis
MyBatis의 정의
- 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크로서
- JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL쿼리, 저장 프로 시저 및 고급 매핑을 지원
- 모든 JDBC 코드 및 매개변수의 중복 작업을 제거한다
- 프로그램에 있는 SQL쿼리들을 한 구성파일에 구성하여 프로그램 코드와 sQL을 분리할 수 있다
MyBatis 특징
- 복잡한 쿼리나 다이나믹한 쿼리에 강하지만 비슷한 쿼리는 남발하게 된다.
- 프로그램 코드와 SQL쿼리의 분리로 코드의 간결성 및 유지보수성 향상
- VO를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP 등으로 맵핑하여 사용할 수 있다.
- 빠른 개발이 가능하며 생산성이 향상된다.
ORM
- object Relation Mapping 프레임워크는 데이터베이스와 객체와의 관계를 맵핑시켜 퍼시스턴스 로직 처리를 도와주는 프레임워크다. 대표적으로 iBatis와 Hiberate가 있다.
- JDBC를 사용하면 DB를 열고 닫는 부분 등과 SQL쿼리문이 섞여 있고 트랜잭션 관리나 복잡한 쿼리를 적용하기 위해서는 많은 노하우가 필요하다.
- iBatis는 SQL 쿼리 예외처리 트랜잭션 처리 등을 XML과 쿼리를 실행하는 자바 코드로 관리한다.