SpringBoot 13

SpringBoot JPA 쇼핑몰 주문 검색

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 개요 BincoShop 마지막 기능인 주문 검색 기능 개발 포스팅을 하려 합니다. 사진과 같이 회원명이나 주문 상태(ORDER, CANCEL)로 검색할 수 있게 구현할 예정입니다. OrderSearch📙 @Getter @Setter public class OrderSearch { private String memberName; private OrderSt..

JPA 2022.09.19

SpringBoot JPA 쇼핑몰 주문 서비스 II

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 개요 주문 로직은 사용자가 회원, 상품, 수량을 선택하고 주문 시에 로직이 진행됩니다. 그럼 Service 단에서 비즈니스 로직을 어떻게 처리하는지 알아볼까요? Service📘 @Service @Transactional @RequiredArgsConstructor public class OrderService { private final OrderRepo..

JPA 2022.09.15

SpringBoot JPA 쇼핑몰 상품 서비스 개발

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 개요 회원 서비스에 이어서 상품 서비스를 개발합니다. 이전 포스팅과 비슷한 흐름이어서 간단하게 진행될 것 같습니다. 모든 포스팅은 김영한 님의 강의를 참고하였습니다😄 Entity 수정📔 @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "dtyp..

JPA 2022.09.14

SpringBoot JPA 쇼핑몰 회원 서비스 개발

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 개요 지난 포스팅까지는 엔티티 개발을 진행하였습니다. 오늘부터는 비즈니스 로직 개발을 진행하는데, 회원 서비스 먼저 개발을 진행하려 합니다. 포스팅의 모든 내용은 김영한 강사님의 강의를 참고했습니다😄 Repository📘 @Repository @RequiredArgsConstructor public class MemberRepository { privat..

JPA 2022.09.14

SpringBoot JPA 쇼핑몰 엔티티 개발Ⅱ

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 개요 이전 포스팅에 이어서 Category Entity를 개발합니다. 또한, 내장 타입으로 개발했던 Address를 변경 불가능하게 수정할 예정입니다. 모든 개발 과정은 김영한님의 강의를 통해 포스팅하였습니다😀 Category Entity🔆 @Entity @Getter @Setter public class Category { @Id @GeneratedVa..

JPA 2022.09.14

SpringBoot JPA 쇼핑몰 엔티티 개발Ⅰ

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 개요 지난 시간에 포스팅한 도메인과 테이블 설계에 이어서 엔티티 클래스들 먼저 개발을 진행합니다. 폴더 구조는 하단 사진과 같고, 만일 포스팅을 따라 하는 분이 계시다면 엔티티끼리 연관되는 부분이 많기 때문에 하단 끝까지 따라 하셔야 오류가 안 납니다😀 Member Entity🧍 @Entity @Getter @Setter public class Membe..

JPA 2022.09.13

SpringBoot JPA 쇼핑몰 도메인&테이블 설계

SpringBoot와 JPA, Thymeleaf를 사용하여 간단한 쇼핑몰을 구현하려 합니다. 프로젝트 생성이나 Gradle 빌드는 깃허브 BincoShop을 참고해주세요! 포스팅은 도메인&테이블 설계 -> 엔티티 개발 -> 회원 서비스 -> 상품 서비스 -> 주문 서비스 순으로 진행됩니다. 포스팅의 잘못된 부분은 언제든 댓글로 남겨주시면 수정하겠습니다😀 도메인 모델🔆 회원, 주문, 상품의 관계 : 회원을 여러 상품을 주문할 수 있고 한번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계이다. 하지만 다대다 관계는 잘 사용하지 않아서 위 그림처럼 주문 상품이라는 엔티티를 추가해서 일대다, 다대일 관계로 풀어냈다. 상품 분류 : 상품은 도서, 음반, 영화로 구분되는데 상품이라는 공통 속성..

JPA 2022.09.07

SpringBoot JPA 게시판 CRUD 구현(예외 처리)

오늘은 지금까지 구현했던 WAS 단 로직들 안에서 예외처리들을 커스터마이징 하려 합니다. 로직 수정에 앞서 예외(Exception)와 오류(Error)에 대한 간단한 개념을 먼저 알아보겠습니다😀 에러(Error)📙 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 Error라고 합니다. Error는 JVM 실행에 문제가 생긴 것으로, 프로그램은 실행 불능이 됩니다. 즉, 시스템이 종료되어야 할 수준의 상황과 같이 수습할 수 없는 심각한 문제를 의미합니다. 📌Error는 개발자가 미리 예측하여 방지할 수 없습니다. 예외(Exception)📒 자바에서는 에러 이외에 예외라고 부르는 오류가 있습니다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 오..

JPA 2022.07.27

SpringBoot JPA 게시판 CRUD 구현(Delete-TDD)

오늘은 지난번에 포스팅한 게시글 수정에 이어 CRUD의 마지막 Delete 기능의 WAS 단 로직을 포스팅하려 합니다. 패키지성 포스팅이기 때문에 이전 포스팅을 보지 않으셨다면 이해되지 않는 부분이 있을 수 있습니다. 글 맨 하단 링크를 통해 확인해주세요 :) Gradle 빌드나 폴더 구조는 깃허브 Bincolog를 참고해주세요. 게시글 삭제 로직은 따로 DTO 클래스를 분류할 필요가 없어서 이전에 만든 Create, Read, Update 기능보다는 훨씬 간단하게 로직이 구현됩니다. Controller 클래스와 Service 클래스만 구현하면 되고, 각각에 해당하는 Test 코드를 구현해보겠습니다. Controller 생성📘 @DeleteMapping("/posts/{postId}") public vo..

JPA 2022.07.25

SpringBoot JPA 게시판 CRUD 구현(Update-게시글 수정)

지난번에 구현한 페이징 처리까지 R(Read)에 해당됩니다. 오늘은 U(Update)에 해당되는 게시글 수정 WAS 단 로직을 포스팅하려 합니다. 약간 패키지성 포스팅이어서 게시판의 Create, Read 포스팅을 보지 않으셨다면 헷갈리실 수 있습니다. 맨 아래에 링크를 통해서 지난번 포스팅을 보시고 오시거나 깃허브 Bincolog를 참고하시는 것을 추천드립니다! Request 생성📗 첫번째로는 Request를 생성합니다. Create, Read와 동일하게 Entity를 사용하지 않고 따로 클래스를 만들어줍니다. 이유는 지난 포스팅에서 언급했습니다 :) @Getter @Builder public class PostEdit { @NotBlank(message = "제목을 입력해주세요.") private S..

JPA 2022.07.21