마이바티스란?

마이바티스는 JDBC를 대체하는 퍼시스턴스[각주:1] 프레임워크[각주:2]다. 퍼스시턴스 프레임워크는 데이터의 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일들의 집합이다. (컴퓨터를 종료하면 그 전에 있던 정보들은 끊어져서 지속되지 않는다. 그래서 파일을 저장하거나 DB에 저장을 하여 정보를 유지한다. 자바에서는 JDBC를 이용하여 DB에 저장하고 이걸 좀 더 간편하게 하기 위한 프레임워크를 퍼시스턴스 프레임워크라고 한다.마이바티스는 데이터베이스 프로그래밍을 하는 데 기존 JDBC API를 사용하고 개발자가 직접 JDBC를 사용할 때의 중복 작업 대부분을 없애준다. SQL을 별도의 XML이나 애노테이션으로 정의하기 때문에 SQL을 관리하기 편하다.

 

마이바티스의 특징

  • JDBC 프레임워크다.
  • 개발자는 SQL을 작성하고 마이바티스는 JDBC를 사용해서 실행한다.
  • JDBC를 사용할 때의 try/catch/finally/try/catch 구문을 사용할 필요가 없다.
  • SQL 매퍼다. ORM[각주:3] 프레임워크(참고 : http://civan.tistory.com/156, ORM이란 무엇인가?)는 데이터베이스 객체를 자바 객체로 매핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주지만, 마이바티스는 SQL을 명시해줘야 한다.
  • 객체 프로퍼터(Property, 속성)를 Prepared 구문의 파라미터로 자동으로 매핑한다.
  • 조회 결과를 객체로 자동으로 매핑한다.
  • N+1 쿼리의 문제(참고 : http://itpsolver.com/n1-%EC%A1%B0%ED%9A%8C%EB%9E%80/)를 제거하게 지원한다.
  • 트랜잭션[각주:4]을 관리한다.
  • 스프링 같은 외부 트랜잭션 관리자를 사용할 수도 있다.
  • 스프링 연동 모듈을 제공해서 스프링과 연동할 수도 있다.

 


 

  1. 퍼시스턴스(Persitence) : 데이터의 지속성을 의미한다. 어플리케이션을 종료하고 다시 실행하더라도 이전에 저장한 데이터를 다시 불러올 수 있는 기술 [본문으로]
  2. 프레임워크(Framework) : 동작에 필요한 구조를 어느정도 완성해 놓은 반제품 형태의 도구이다. [본문으로]
  3. ORM(Object-Relational Mappings) : 객체(Object)와 관계(Relation)을 연결(Mapping)해 주는 개념 [본문으로]
  4. ATM, 데이터베이스 등의 시스템에서 사용되는 더이상 쪼갤 수 없는 업무처리의 단위 [본문으로]