Mybatis의 장점
1. 접근이 쉽고 코드가 간결하다.
2. SQL문과 프로그래밍 코드가 분리되어 있어서, SQL 문에 변경이 있을때마다 자바 코드를 수정하거나 컴파일 하지 않아도 된다.
3. 다양한 프로그래밍 언어로 구현이 가능하다.(이식성이 뛰어나다)
Mybatis의 단점
1.스키마 변경 시 SQL 쿼리를 직접 수정해 주어야 한다.
2. 반복된 쿼리가 발생하여 반복 작업이 있다.
3. 쿼리를 직접 작성하기 때문에 데이터 베이스에 종속된 쿼리문이 발생할 수 있다.
4. 데이터 베이스 변경 시 로직도 함께 수정해 주어야 한다.
JPA 란?
1. Java ORM 기술에 대한 API 표준 명세이다.
구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.
- ORM(Object - Relational Mapping)
Class 와 RDB(Relational DataBase) 의 테이블을 매핑한다는 뜻
객체를 RDB 테이블에 자동으로 영속화 해주는 것
2. 구현체로는 Hibernate, EclipseLink , Data Nucleus가 있으며 Hibernate 가 가장 대중적이다.
JPA의 장점, 단점
장점
1. 쿼리를 하나하나 작성할 필요가 없어서 코드량이 줄어든다.
2. 가독성이 좋다.
3. 간편하게 수정이 가능하다.( 유지보수, 리펙토링에 유리)
4. 동일한 쿼리에 대한 캐시 기능을 사용하기 때문에 더욱 높은 성능을 낼 수 있다.
단점
1. 매핑 설계를 잘못했을 때 성능 저하가 발생 할 수 있다.
2. JPA를 제대로 사용하려면 알아야 할 것이 많아서 학습하는데 시간이 오래 걸린다.
3. 다수의 테이블 조인시 신경써야 할 것이 많다.
'TIL' 카테고리의 다른 글
JS 파일 코드 난독화를 적용하여 보안 강화하기 (0) | 2023.02.21 |
---|---|
편하게 readme 작성할수 있게 하는 확장프로그램 (0) | 2023.02.11 |
[Java] Gson 라이브러리 사용법 및 예제 (Json 생성, 변환) (0) | 2023.02.09 |
WebSocket을 사용해 게임 플레이어의 실시간 방 참여를 활성화 하기 (0) | 2023.01.30 |
Java SSL 인증서 파일 등록 하는법 정리(Keytool, Portecle 이용) (0) | 2023.01.26 |
RDS - MySQL (0) | 2023.01.07 |
N + 1 문제가 발생하는 이유 / 해결하는 방법 (0) | 2023.01.04 |
2023-01-03 Today I learned Oauth (0) | 2023.01.03 |