내가 개발한 프로젝트마다 Mybatis가 쓰였던 이유?
내가 개발한 프로젝트는 교육기관에서 팀원들과 함께 개발한 웹 어플리케이션, 전자정부프레임워크를 활용한 공공 SI 프로젝트정도였다. 공통점이 한 가지 있는데, 세 개의 프로젝트 다 Mybatis를 사용했다는 것이다. Mybatis를 왜 주로 썼던걸까? 사실 생각해보면 그냥 "마이바티스 쓰자~" , "세팅은 마이바티스로 하신다는데요?" 해서 썼던 기억이 난다.
다시 돌아보니 개발하는 데에 있어서 하나하나 왜 이걸 쓰게됐고, 이걸 사용함에 따라 어떠한 제약이 있었고, 그로 인해서 어떠한 것을 깨달았는지가 매우 중요하다는 걸 알게 되었다. 그리고 다년간 우리나라에서 Mybatis가 수요되어 온 어떠한 구체적인 사유도 있을 것 같아서 그 이유를 알아보고 싶어졌다.
Mybatis란?
JDBC를 조금 더 편하게 사용할 수 있도록 객체를 sql이나 저장 프로시저와 매핑해주는 퍼시스턴스 프레임워크이다. 한마디로 SQL mapper인 것이다.
- ORM과의 비교 : ORM은 java 객체를 관계형 데이터베이스(ERD)와 매핑하는 것
이에 반해, Mybatis는 SQL 구문과 java 메서드를 매핑한다. 그래서 Mybatis의 경우에는 SQL 구문을 직접 작성할 줄 알아야 한다.
Mybatis의 장점
- 다른 프레임워크들에 비해 간단하다
- 소스 코드와 SQL의 분리 (생산성, 작업 분배 가능)
- SQL을 직접 다룰 수 있다 (특징이자 장점 / 조금 더 심화가 필요한 쿼리, 함수, 저장 프로시저 등)
아니 그러면 왜? 왜? JPA로 점점 옮겨가야하는 걸까?
'백엔드 개발 > 플젝 리팩토링' 카테고리의 다른 글
05. [Mybatis에서 JPA로] 기능 목록 정리 및 엔티티 설계 (0) | 2024.01.28 |
---|---|
04. [Mybatis에서 JPA로] 프로젝트 환경설정 (0) | 2024.01.27 |
03. [Mybatis에서 JPA로] JPA를 쓰고싶은 이유 & 목표 (1) | 2024.01.23 |
01. [Mybatis에서 JPA로] 마이그레이션을 맘먹은 계기 (1) | 2024.01.16 |