Today I Learned
(24.06.26)[11주차] JPA 심화 강의 01
JPA 에 관하여 DB에서 부터 DB를 JPA 관련하여 다룰 수 있도록 강의와 학습이 진행되는 주간이므로
TIL에는 간단하게 정리,
자세한 것은 노션으로 나의 말과 실습코드의 양이 많기 때문에 인덱스 위주로 배운내용을 크게 점검하는 형식으로 정리
JPA 심화 강의 간단정리
더보기
DB (H2)
- 내장형 H2 DB를 설치해서 사용할 수 있음
Server Mode
- 직접 엔진을 외부에 설치하여 사용하는 방식
In-memory Mode
- 애플리케이션 내부의 엔진을 사용하는 방식
Embedded Mode
- 애플리케이션 내부의 엔진을 사용하되 DB가 유지가 되는 방식
DB Driver
- 애플리케이션과 데이터베이스 간의 통신을 중개하는 번역기같은 역할
JDBC Driver
JDBC Driver Manager
- Connection(연결) 객체 을 생성하여 쿼리를 요청할 수 있는 상태로 세팅
- Statement(상태) 객체 를 생성하여 쿼리를 요청할 수 있도록 세팅
- ResultSet(결과셋) 객체을 생성해 쿼리 결과를 받아올 수 있게 세팅
JDBC Driver Type
- Type 4 드라이버(순수 자바 드라이버)가 가장 일반적으로 사용
JDBC Driver 작동
- Connection - Statement - ResultSet을 사용해서 JDBC에서 직접 쿼리를 다루는 것
Persistence Framework
- JDBC를 사용해서 직접 쿼리를 하는 데 많은 어려움이 발생을 해소하기 위한 프레임워크
SQL Mapper = Query Mapper
- JDBC Template, MyBatis
ORM
- JPA, Hibernate
Spring Boot의 JDBC 라이브러리
- JDBC 드라이버를 Spring Boot는 다양하게 지원하기 때문에 여러 DB 와 연결을 쉽게 할 수 있음
JDBC Template
- 앞서 배운 JDBC Driver의 작동되었던 것을 Template화 하여 간단하게 사용할 수 있는것
RowMapper
- 쿼리 수행 결과와 객채 필드 매핑을 간소화 해주는 것
- Connection, Statement, ResultSet 반복적 처리 대신 해줌
'Today I Learned' 카테고리의 다른 글
(24.06.28)[11주차] QueryDSL과 SQL의 비교와 정리 (0) | 2024.06.28 |
---|---|
(24.06.27)[11주차] JPA 심화 강의 02 (마무리) (0) | 2024.06.27 |
(24.06.25)[11주차] Spring Security의 User 권한 설정 (0) | 2024.06.25 |
(24.06.21)[10주차] CrudRepository & Delete 쿼리 메서드 (0) | 2024.06.21 |
(24.06.20)[10주차] Optional 객체값 가져오기 (0) | 2024.06.20 |