마이바티스는 JDBC를 대체하는 퍼시스턴스 프레임워크 1다. 퍼스시턴스 프레임워크는 2데이터의 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일들의 집합이다. (컴퓨터를 종료하면 그 전에 있던 정보들은 끊어져서 지속되지 않는다. 그래서 파일을 저장하거나 DB에 저장을 하여 정보를 유지한다. 자바에서는 JDBC를 이용하여 DB에 저장하고 이걸 좀 더 간편하게 하기 위한 프레임워크를 퍼시스턴스 프레임워크라고 한다.) 마이바티스는 데이터베이스 프로그래밍을 하는 데 기존 JDBC API를 사용하고 개발자가 직접 JDBC를 사용할 때의 중복 작업 대부분을 없애준다. SQL을 별도의 XML이나 애노테이션으로 정의하기 때문에 SQL을 관리하기 편하다.
마이바티스의 특징
- JDBC 프레임워크다.
- 개발자는 SQL을 작성하고 마이바티스는 JDBC를 사용해서 실행한다.
- JDBC를 사용할 때의 try/catch/finally/try/catch 구문을 사용할 필요가 없다.
- SQL 매퍼다. ORM 프레임워크(참고 : http://civan.tistory.com/156, ORM이란 무엇인가?)는 데이터베이스 객체를 자바 객체로 매핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주지만, 마이바티스는 SQL을 명시해줘야 한다. 3
- 객체 프로퍼터(Property, 속성)를 Prepared 구문의 파라미터로 자동으로 매핑한다.
- 조회 결과를 객체로 자동으로 매핑한다.
- N+1 쿼리의 문제(참고 : http://itpsolver.com/n1-%EC%A1%B0%ED%9A%8C%EB%9E%80/)를 제거하게 지원한다.
- 트랜잭션을 관리한다. 4
- 스프링 같은 외부 트랜잭션 관리자를 사용할 수도 있다.
- 스프링 연동 모듈을 제공해서 스프링과 연동할 수도 있다.
'예전 포스팅 모음' 카테고리의 다른 글
자료구조의 개념 (0) | 2015.02.13 |
---|---|
JDBC 코드의 대안 마이바티스 (0) | 2015.01.19 |
[강의필기] spring (0) | 2014.12.31 |
Ajax, xml, parser, json(JavaScript Object Notation), MVC pattern (0) | 2014.12.18 |
multipart/form-data 파일 업로드 (0) | 2014.12.06 |