[Spring Data JPA] Querydsl
·
Web & Android/Spring Data JPA
Querydsl은 JPQL을 코드로 작성할 수 있도록 도와주는 빌더 API 문자열이 아닌 자바 소스코드로 작성하기 때문에 컴파일 시점에 오류 발견 가능 쿼리를 재사용할 수 있으며 제약 조건 조립 및 가독성을 향상시킬 수 있음 고정된 SQL문이 아닌 조건에 맞게 동적으로 쿼리 생성 가능 자동완성기능을 이용하여 생산성 향상시킬 수 있음 이전 버전 // querydsl 추가 1 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '3.1.2' id 'io.spring.dependency-management' version '1.1.2' } group = 'kr.inhat..
[Spring Data JPA] @Query
·
Web & Android/Spring Data JPA
@Query @Query 어노테이션을 사용해 Custom으로 쿼리문을 지정할 수 있다. public interface MemberRepository extends JpaRepository { @Query("select m.username from Member m") List findUsernameList(); } SQL과 유사한 JPQL이라는 객체지향 쿼리 언어를 통해 복잡한 쿼리도 처리 가능 JPQL 엔티티 객체를 대상으로 쿼리를 수행하는 객체지향 쿼리 SQL을 추상화해서 사용하기 때문에 특정 데이터베이스 SQL에 의존하지 않음 import com.shop.entity.Item; import org.springframework.data.jpa.repository.JpaRepository; public ..
[Spring Data JPA] JPA
·
Web & Android/Spring Data JPA
💡 매핑의 뜻 : 키(key) 역할을 하는 데이터와 값(value) 역할을 하는 데이터를 짝 지어(=연결 지어) 저장하는 데이터 구조 JPA(Java Persistence API) 자바 ORM 기술에 대한 API 표준 Persistence : 영속성 persist() 메소드를 사용해서 저장 Hibernate, OpenJPA ⇒ API(Application Programming Interface) Spring Data JPA save() 메소드를 사용해 저장이나 업데이트를 함 JPA 장점 특정 데이터베이스에 종속되지 않음 조금 종속 됨, 거의 구분없이 사용 가능 오라클, MySQL, MSSQL 등등을 왔다갔다 하면서 사용 가능 객체지향적으로 설계 가능 직관적이고 비즈니스 로직에 집중 유지보수 유리 및 생산..
[Spring Data JPA] QueryMethod
·
Web & Android/Spring Data JPA
Spring Data JPA에서 제공하는 공동 인터페이스는 기본적인 CRUD를 제공해준다. (JpaRepository) 조인 불가 Repository 인터페이스에 간단한 네이밍 룰을 이용하여 메소드를 작성하면 원하는 쿼리 실행 가능 엔티티의 이름은 생략 가능, By 뒤에는 검색할 때 사용할 변수의 이름 작성 조건이 많을 때 쿼리 메소드를 선언하면 이름이 길어져 오히려 보기 힘들다는 단점이 있음 → 그래서 @Query 어노테이션 사용 JpaRepository Entity의 클래스명 + Repository 로 인터페이스 생성 JpaRepository 상속 (extends) 속성으로 ‘Entity의 클래스명’, ‘Entity기본키(Id)의 타입’ 지정 public interface UserRepository ..
[Spring Data JPA] ORM & SQL Mapper
·
Web & Android/Spring Data JPA
💡 영속성이란 데이터를 생성했던 프로그램이 종료되더라도 데이터는 사라지지 않는 것을 의미 영속성 있는 데이터들을 사용하기 편하게 해주는 것 → Persistene Framework 종류로는 SQL Mapper, ORM이 있음 Persistene Framework DB와의 연동되는 시스템을 빠르게 개발하고, 안정적인 구동을 보장해주는 프레임워크 SpringBoot와 DB를 이어주는 역할 (영속성 부여) 장점 1. 재사용 및 유지보수에 용이함 데이터베이스MySQL, MariaDB 등) 종류는 여러가지 종류가 있는데, 만약 DB를 교체하더라도 Persistene Framework는 그대로 두고 DB만 교체하면 되므로 재사용 및 유지보수에 용이하다. 2. 코드가 직관적임 Persistene Framework가 ..
[SpringBoot] Spring Boot
·
Web & Android/SpringBoot
SpringBoot Spring 프레임워크의 서브 프로젝트 스프링 프레임워크를 쉽게 사용할 수 있도록 도와주는 도구 Spring처럼 많은 설정이 필요하지 않다. 장점 라이브러리 의존성 간단히 관리(Maven, Gradle) Spring Boot가 라이브러리 인지해서 실행에 필요한 환경을 자동으로 설정 라이브러리 버전 자동 관리 테스트 환경 Tomcat 서버 내장 → main() 메소드 실행 시 서버 구동 독립적으로 실행 가능한 JAR 파일로 패키징 가능 Gradle Groovy 기반의 빌드 도구 Ant와 Maven의 단점을 보완 Java 문법과 유사하다. Gradle 설치 없이도 Gradle Wrapper를 이용하여 빌드를 지원한다. build.gradle : 빌드 구성 스크립트 → 의존성, 플러그인 설..