MyBatis

Updated:

MyBatis란

MyBatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하여 JDBC(Java Database Connectivity : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스)를 보다 편하게 사용하기 위해 개발된 ORM(Object relational Mapping)프레임워크이다.

MyBatis의 특징

  1. SQL문이 코드로부터 완전히 분리 : 기존에는 DAO파일에 모든 SQL문을 작성하였다. 하지만 MyBatis에서는 Mapper 파일에 SQL코드를 입력해 놓고 DAO 파일에서 필요할 때마다 가져와서 사용할 수 있다.
  2. 생산성 : 코드가 짧아지고 빠른 개발이 가능하다.
  3. 유지보수성 향상 : Mapper 파일에만 SQL 코드를 입력하고 나중에 SQL 코드를 변경할 때 이곳에서 유지보수만 하면, DAO에서는 아무런 영향을 받지 않는다. 왜냐하면 DAO에서는 Mapper파일에서 작성된 SQL 코드를 갖다 쓰기만 하기 때문이다. 또한 SQL문과 프로그래밍 코드의 분리로 인해 SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일하지 않아도 된다.

MyBatis의 구성

  1. MyBatis 환경설정 파일(ex: mybatis-config.xml) : MyBatis가 JDBC 코드를 실행하는데 필요한 전반에 걸친 세팅을 한다
    • TypAlias 설정 : 사용할 모델 클래스에 대한 별칭 설정. <typeAlias>
    • DB 연동을 위한 설정 : DataBase에 어떻게 접속할 것인지에 대한 설정. <enviroment>
    • Mapper 설정 파일 등록 : 매핑 설정이 어디있는지. <mapper>
  2. Mapper 설정 파일(ex: member.xml, company.xml) : Sql문과 관련된 설정을 하는 파일로서 MyBatis 설정파일(ex: mybatis-config.xml)에 등록을 하여야 한다. 주요 구성 요소

  3. SQL문 등록 태그
    • SQL문 태그의 구성 요소 : Parameter, Result ,SQL문 등록
    • SQL 태그 : insert, delete, update, select
    • 공통 SQL문 설정 태그 : <sql>
  4. select 결과 처리 설정
    • <resultMap>

MyBatis 가능성 있는 면접 질문

  1. JDBC-DBCP
  2. DM-DML,DCL, DDL
  3. Join (outer join)

출처

Leave a comment