#김영한 #스프링 #Spring #인프런 #인프런수업
본 포스팅은김영한
선생님의스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB접근 기술
강의를 기반으로 작성되었습니다.
JPA
자바 퍼시스턴트 API
기존 반복 코드는 물론이고 기본적인 SQL도 JPA가 직접 만들어 실행해준다
SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다
JPA사용 시 개발 생산성을 크게 높일 수 있다
국내에 점유율은 마이바티스가 높지만 전세계적으로 봤을 때엔 JPA가 독보적이다
인터페이스만 제공하며 구현체로 Hibermate, Eclipse Link등 구현 기술들의 여러개 밴더들 제공하며 주로 Hibermate꺼를 쓴다
java진영에 표준 인터페이스이고 구현은 여러 업체들이 한다고 보면 된다
객체랑 ORM이란 기술이다
Object Relational Mapping 하는 기술이다
라이브러리 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
application.properties 추가
spring.jpa.show-sql=true // 쿼리문을 보여주는 설정
spring.jpa.hibernate.ddl-auto=none
// 현재 테이블이 있으므로 none설정
// create로 하는 경우 테이블이 없을 때 자동으로 생성해주는 기능 설정임
중요 !!
Extermal Libraries
이 라이브러리들이 추가되어 있어야 한다
Repository 적용
class를 새로생성함
JPA를 이용하려면 EntityManager가 필요하다
EntityManager란 ?
jpa는 EntityManager라는 걸로 모든게 동작한다
jpa 라이브러리를 현재 추가했기 때문에
스프링부트가 자동으로 EntityManager걸 생성을 한 뒤 em을 만들어준다
현재 데이터베이스 연결 다 해서 만들어준다
그럼 그걸 Inject을 하면 된다
프로퍼티에서 세팅했던 정보와 데이터베이스 커넥션 정보랑 모든걸 합쳐서 매니저를 만들어줌
내부적으로 이전 데이터소스를 다 가지고있어서 알아서 처리해준다
저장하는 방법
em.persist();
PK인 ID 값으로 찾는 방법
em.find(조회할 타입 , PK값)
이름으로 찾는 방법
PK값으로 조회하는 것과 조금 다르게 특별한 jpql이라는 객체지향 쿼리 언어를 사용해야한다
em.createQuery()
모든 리스트를 찾는 방법
em.createQuery()
'🌱 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤 > ⠀⠀⠀⠀ SᴛʀɪɴɢBᴏᴏᴛ' 카테고리의 다른 글
스프링의 생태계/Spring과 객체지향/SOLID원칙/Spring의 핵심 및 컨셉 (1) | 2024.02.09 |
---|---|
Spring Boot - AOP (0) | 2023.12.28 |
Spring Boot - JdbcTemplate (0) | 2023.12.27 |
Spring Boot - 스프링 통합 테스트 (0) | 2023.12.27 |
Spring Boot - 웹 MVC개발 :: 회원 웹 기능 조회와 DB접근 (0) | 2023.12.27 |