MyBatis 。SQL을 통해 DB 상호작용 시 자동으로 객체로 매핑하는 SQL Mapper 역할의 프레임워크 ▶ DAO 역할만 수행하며, DB Connection은 사용자가 직접 정의해야한다. ▶ java.sql.Connection / Connection
MyBatis의 각 도메인 마다 Mapper.xml 파일을 정의하며, 이에 전역설정파일(= mybatis-config.xml)의 <mappers>에서 <mapper>로서 추가적으로 정의。도메인을 추가 시 마다 개발자가 일일이 전역설정파일을 수정해야하는 단점이
Java Bean 방식을 사용하여 Java에서 MyBatis의 전역설정을 수행 및 SQL 실행하기。기존의 전역설정파일( mybatis-config.xml )을 작성하는 방식을 Java의 설정 클래스를 Java Bean으로서 생성하여 수행▶ <Configuratio
기존 MyBatis는 기본 제공하는 PooledDataSource를 사용하도록 설정됨。전역설정 XML파일의 <dataSource type="POOLED"> 설정 시 Connection Pool을 사용하도록 지정되나, 기본 제공되는 PooledDataSource로
인터페이스 정의。MyBatis의 Connection Pool 이외에도 HikariCP을 활용하여 SqlSession을 생성하도록 인터페이스로 일반화 수행 。 SqlSession을 생성하고 반환하는 추상 메서드 정의 및 접속정보 필드를 정의 ▶ Connector 역할

JPA ( Java Persistence API )。JAVA에서 ORM 기술표준으로 활용되는 interface의 집합인 Framework.▶ 호환성을 목적으로 DB mapping을 용도로 해당 interface의 구현체를 생성하여 활용 。JPA를 구현한 대표적인 오픈
의존성 정의JPA 설정 파일( persistence.xml ) 정의。persistence.xml : DB 연결정보 ( URL, Username, Password )와 Entity Class의 Mapping 설정을 정의하는 JPA 설정 파일。정의된 DB에 매핑할 Enti

JPQL ( Java Persistence Query Language ) 。특정 DB에 종속되지 않는 Entity 중심의 객체지향 쿼리 언어 。JPA의 일부로서 DB Table이 아닌 영속성 컨텍스트 내 DB Entity를 대상으로 SQL
PK를 외부에 노출되는 것을 방지하기 위해서 PK 역할의 컬럼을 추가하여 대체 。해당 방식을 통해 id와 code를 조합한 구조로 PK로서 활용 ▶ 기존 PK인 Long id의 중복 위험을 해소하여 UUID의 필요성이 없어짐.▶ 비교검증을 목적으로 equals()와 h
Spring Boot MyBatis。MyBatis와 JPA를 혼용해서 사용 MyBatis Spring Boot Starter » 4.0.1 ▶ MyBatis는 N+1이 발생 X는 장점이 존재.