이것 저것 개발 공부/MyBatis

[MyBatis] MyBatis 완벽 가이드 | 개념, 특징, 장점 총정리

crushed-taro 2025. 3. 8. 14:05
728x90
반응형

1. MyBatis 개요

1. MyBatis란

  • 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 할 수 있도록 xml로 구조화한 Mapper설정 파일을 통해 JDBC를 구현한 영속성 프레임워크이다.
  • 기존에 JDBC를 통해 구현했던 상당 부분의 코드, 파라미터 설정 및 결과 mapping을 xml 설정으로 쉽게 구현할 수 있게 한다.
  • Mybatis API 사이트: http://www.mybatis.org/mybatis-3/ko

2. MyBatis의 흐름 및 구조

  • 이전에 JDBC Template을 통해 SQL을 실행했다면, Mybatis는 같은 흐름을 전용 라이브러리로 대체하여 동작한다.

  • MyBatis 동작 구조

2. iBatis와 MyBatis

1. iBatis에서 MyBatis로

  • 기존에 Apache project에서 iBatis를 운영하던 팀이 2010년 5월 9일에 Google 팀으로 이동하면서 MyBatis로 이름을 바꾸었다.
  • MyBatis는 기존 iBatis의 한계점인 Dynamic query(동적 쿼리)와 Annotation 처리를 보강하여 더 나은 기능을 제공한다.
  • iBatis는 현재 비활성화 상태이며, 기존에 iBatis로 만들어진 애플리케이션의 지원을 위한 라이브러리만 제공하고 있다.

2. iBatis와 MyBatis의 차이점

  1. Java 요구 버전
    • iBatis는 JDK 1.4 이상, MyBatis에서는 JDK 1.5 이상 사용 가능하다.
  2. 패키지 구조 변경
    • iBatis : com.ibatis.*
    • MyBatis : org.apache.ibatis.*
  3. 사용 용어의 변경
    iBatis MyBatis
    SqlMapConfig Configuration
    sqlMap Mapper
    resultClass resultType
  4. 동적 쿼리 지원
    • Mybatis는 if, choose, trim, foreach 문을 지원한다.
  5. 자바 Annotation 지원

3. MyBatis 환경 설정

1. IntelliJ-MyBatis 라이브러리 설정

  • MVN Repository에서 MyBatis를 검색한다.

  • 최신 버전을 선택하고, Gradle(Short)의 구문을 복사한다.

  • 복사한 구문을 프로젝트의 build.gradle 파일 내 dependencies에 추가한다.
  • MyBatis는 JDBC를 활용하는 라이브러리이므로 JDBC 라이브러리도 build.gradle 파일 내 dependencies에 추가하고 로드한다.

728x90
반응형