MyBatis와 JPA의 주요한 차이점은 DB와의 상호작용 방식이다.
MyBatis는 데이터베이스와 상호작용할 때 개발자가 SQL 쿼리를 직접 작성해 사용하며, 데이터 매핑을 위해 XML 또는 어노테이션을 사용합니다.
반면 JPA는 객체와 관계형 데이터베이스 간의 매핑을 제공하며,
JPQL(Java Persistence Query Language)을 사용하여 데이터베이스와 상호작용합니다.
SQL Mapper (MyBatis, JdbcTemplate)
- 객체와 테이블 간의 관계를 매핑x
- SQL문 직접 작성, 쿼리 수행 결과 어떤 객체에 매핑할지 바인딩
- DBMS에 종속적인 문제
ORM(JPA)
- 자바 ORM 기술 표준
- CRUD 메소드 기본 제공(참 획기적💭)
- 쿼리를 만들지 않아도 됨
- 객체 중심 개발
- 복잡한 쿼리는 해결 어려움
그래서 ORM이 뭔데?!
Object와 DB 테이블을 맵핑시켜 RDB(관계형DB) 테이블을 객체지향적으로 사용하게 해주는 기술
