사랑하애오
article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) Thymeleaf - 페이지 레이아웃
JAVA/SpringBoot Shoppingmall 2022. 6. 24. 16:36

Layout Dialect 1. Thymeleaf Layout Dialect 의존성 주입 nz.net.ultraq.thymeleaf thymeleaf-layout-dialect 2.5.1 2. header / footer / layout 생성 resources/templates/fragments/header.html, header.html resources/templates/layouts/layout1.html 3. header / footer 코드 다른 페이지 (layout)에 포함시킬 영역을 th:fragment 로 선언 header footer 4. layout 코드 layout 기능을 사용하기 위해서 layout 네임스페이스 추가 script, css 를 추가할 영역을 layout:fragment..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) Thymeleaf
JAVA/SpringBoot Shoppingmall 2022. 6. 24. 11:00

Thymeleaf 1. Thymeleaf 컨트롤러가 전달한 가공된 데이터를 이용하여 동적으로 화면을 구성하도록 지원하는 템플릿 엔진 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html Tutorial: Using Thymeleaf 1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thy..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) Querydsl
JAVA/SpringBoot Shoppingmall 2022. 6. 24. 10:13

Querydsl 1. Querydsl SQL 쿼리문을 문자열이 아닌 소스코드로 작성하도록 지원하는 빌더 API (프레임워크) 2. Querydsl 의 장점 ① 고정된 SQL 문이아닌 조건에 맞게 동적으로 쿼리 생성 가능 ② 제약 조건 조립 및 가독성 향상 ③ 컴파일 시점에 오류를 발견할 수 있음 ④ 자동 완성 기능으로 인한 생산성 향상 3. Querydsl 의존성 주입 com.querydsl querydsl-jpa ${querydsl.version} com.querydsl querydsl-apt ${querydsl.version} 4. Qdomain 플러그인 추가 엔티티를 기반으로 접두사(prefix) 'Q'가 붙는 클래스를 자동으로 생성하는 플러그인 Querydsl 수행 시 엔티티가 아닌 Qdomain..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) @Query 어노테이션
JAVA/SpringBoot Shoppingmall 2022. 6. 22. 13:25

@Query 어노테이션 1. Spring Data JPA @Query 어노테이션 SQL과 유사한 JPQL (Java Persistence Query Language) 라는 객체지향 쿼리 언어를 통해 복잡한 쿼리 처리를 지원 JPQL - 테이블이 아닌 엔티티 객체를 대상으로 검색하는 객체지향 쿼리, SQL 추상화로 인해 특정 db sql 에 의존하지 않음 2. @Query 를 이용한 조회 상품 상세 설명(itemDetail)으로 상품을 조회하고 결과는 가격순으로 정렬 select "엔티티명" = select "*" @Param 을 통해 매개변수로 넘어온 값을 JPQL에 들어갈 변수로 지정 3. @Query 를 이용한 조회 테스트 수행 ItemDetail 컬럼 값에 "테스트 상품 상세 설명" 문자열이 포함되..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) 쿼리 메서드 (Query Method)
JAVA/SpringBoot Shoppingmall 2022. 6. 22. 13:22

쿼리 메소드 (Query Method) 1. 쿼리 메소드 (Query Method) Spring Data JPA 에서 제공하는 핵심 기능 중 하나로 Repository 인터페이스에 간단한 네이밍 룰에 따라 메소드를 작성하면, 원하는 쿼리를 실행하도록 지원하는 메소드 2. 쿼리 메소드 문법 find 문법 find + (엔티티 이름) + By + 변수이름 3. 쿼리 메소드 Sample 및 JPQL snippet KeywordSampleJPQL snippet Distinct findDistinctByLastnameAndFirstname select distinct … where x.lastname = ?1 and x.firstname = ?2 And findByLastnameAndFirstname … wher..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) 상품 Repository 설계
JAVA/SpringBoot Shoppingmall 2022. 6. 22. 13:17

Section 1. 상품 Repository 설계 1. Spring Data JPA Spring Data JPA 개념(링크달기) 2. 상품 Repository 생성 com.shop.repository.ItemRepository.java 생성 DAO 역할을 수행하는 Repository 인터페이스 JpaRepository 클래스 extends package com.shop.repository; import org.springframework.data.jpa.repository.JpaRepository; import com.shop.entity.Item; public interface ItemRepository extends JpaRepository { } 3. application-test.propertie..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) 상품 Entity 설계
JAVA/SpringBoot Shoppingmall 2022. 6. 22. 12:35

상품 Entity 설계 1. 상품 판매 상태 enum 클래스 enum 클래스에 대한 개념(링크달기) com.shop.constant.ItemSellStatus.java 생성 상품의 현재 판매 상태 (판매, 품절)를 나타내는 상수값 (SELL, SOLD_OUT) package com.shop.constant; public enum ItemSellStatus { SELL, SOLD_OUT } 2. 상품 클래스 생성 _ Ver 1 com.shop.entity.Item.java 생성 상품 판매 상태의 값은 ItemSellStatus 열거형의 값을 가짐 @Entity @ToString @Table(name = "item") public class Item { private Long id;// 상품코드 privat..

article thumbnail
[VSCODE] JPA 개념 및 원리
JAVA/SpringBoot Shoppingmall 2022. 6. 21. 15:05

JPA 1. JPA (Java Persistence API) Java 객체와 관계형 DB 사이를 매핑하는 ORM 기술 표준 인터페이스 (=기술 표준) 이므로 실제 구현체는 Hibernate 등등 2. JPA 장점 특정 데이터베이스에 종속되지 않음 - 데이터베이스마다 쿼리문이 조금씩 다르기 때문에 데이터베이스 변경에 어려움이 많음, 하지만 JPA 는 추상화한 데이터 접근 계층을 제공하므로 설정 파일에 사용 데이터베이스만 지정하면 됨 객체 지향적 프로그래밍 및 생산성 향상 - 개발자가 직접 SQL을 작성하는 데이터베이스 설계 중심에서 Java 객체에 집중하도록 지원 - 테이블 컬럼 수정 시 매핑된 클래스만을 변경하면 적용됨 3. JPA 단점 복잡한 쿼리 처리 불가 자동으로 생성되는 쿼리로 인해서 개발자가 의..