MyBatis (2010년대 이후, 현재도 활발)
- iBATIS 후속 프로젝트 (Apache → 개발자 커뮤니티 독립).
- 철학: 여전히 “SQL은 내가 통제한다(SQL 중심)”이지만,
- XML의 가독성 개선
- 애노테이션 기반 Mapper 인터페이스 지원
- CamelCase 매핑, 타입 핸들러 등 자동화 기능 강화
- Spring과 통합이 잘 되어 있음 (MyBatis-Spring)
- 대규모 트래픽 처리하는 전자상거래, 금융권, 공공 SI 등에서 여전히 많이 씀.

🔹 iBATIS 시대
- iBATIS 1.x (2002~2004)
- SQLMap 기반 단순 매핑 프레임워크.
- Java 진영 외에도 .NET, Ruby 버전도 존재.
- iBATIS 2.x (2004~2009)
- XML 기반 매퍼 구조 정착.
- 당시 국내 SI 업계에서 표준처럼 많이 사용됨.
- 하지만 유지보수 한계 + JPA/Hibernate 부상.
🔹 MyBatis 시대 (iBATIS 후속)
- 2010년: MyBatis 3.0 정식 출시
- iBATIS 3.x로 계획됐으나, Apache에서 빠져나와 독립 프로젝트로 리브랜딩.
- #{param} 문법, Mapper Interface + Annotation 지원, Spring 통합.
- 3.1.x (2011~2012)
- 애노테이션 매퍼 기능 강화.
- 다양한 DB 지원 개선.
- 3.2.x (2013~2014)
- Java 8 호환성 강화.
- TypeHandler 확장성 개선.
- 3.3.x (2015~2016)
- Stream, Lambda, Optional 같은 Java 8 기능과 궁합 맞춤.
- Cache, Plugin API 안정화.
- 3.4.x (2016~2018)
- 성능 최적화, 로그 개선.
- ResultSet 매핑 자동화 기능 확대.
- 3.5.x (2019~2023)
- Java 9~17 공식 지원.
- JDK 모듈 시스템 호환.
- MyBatis-Spring 2.x와 연동 최적화.
- 점진적으로 버그픽스/보안패치 제공.
- 3.6.x (2023~2024)
- Java 21 지원 시작.
- Kotlin, Spring Boot 3.x와 궁합 개선.
- MyBatis Dynamic SQL, MyBatis-Kotlin 같은 서브 프로젝트 성장.
- 3.7.x (2025 현재)
- Java 22/23까지 호환성 대응 중.
- Mapper XML/Annotation 혼합 사용 개선.
- SQL 로깅/성능 모니터링 기능 강화.
- 점점 “레거시 SI용”이 아니라, Spring Boot + JPA 보완재로 자리 잡는 중.
🔹 요약 타임라인
- 2002~2009: iBATIS 1.x, 2.x (Apache)
- 2010: MyBatis 3.0 (독립 프로젝트로 시작)
- 2011~2018: 3.1 ~ 3.4 (Java 6~8 지원, 안정화 단계)
- 2019~2023: 3.5 (Java 9~17, Spring Boot 2.x 호환)
- 2023~2024: 3.6 (Java 21, Spring Boot 3.x 호환)
- 2025~: 3.7 (최신 JDK 대응, 확장성 강화 중)
👉 정리하면:
- **iBATIS → MyBatis 3.0 (2010)**에서 사실상 “새로운 프레임워크”로 거듭남.
- 지금은 3.5.x~3.7.x 라인에서 최신 JDK + Spring Boot 3.x와 맞춰가는 게 핵심 트렌드입니다.
LIST
'스프링 개발자 > DB' 카테고리의 다른 글
| 커넥션 풀의 변천사[old vs modern] (0) | 2026.01.02 |
|---|---|
| 📌 MariaDB vs PostgreSQL vs Oracle – 실무 개발자를 위한 핵심 비교 정리 (0) | 2025.11.26 |
| MyBatis 3에서는 SQL을 자동으로 실행해주는 기능 (0) | 2025.09.22 |
| 마이바티스의 장단점 (0) | 2025.09.21 |
| 데이터 모델링( 비즈니스 로직 tdd로 가기전) (2) | 2024.02.10 |