전체 글69 [Spring Boot] 게시판 만들기(1) - 개요, 기본 기능 구현 개인 프로젝트로 게시판 만들기에 도전해본다. 지금까지 배운 기술을 이용해 백엔드 기능 구현에 집중해볼 것이고, 디자인 및 프론트엔드는 최소화할 것이다. - 프로젝트명: 게시판 만들기 - 목표: 현재까지 학습한 백엔드 기술을 접목하여 게시판을 구현한다. - 개발 환경 1. IDE: IntelliJ 2. 개발 언어: Java 3. 프레임워크: Spring Boot 4. 빌드: Gradle 5. DB: MariaDB 6. DB 접근 기술: JPA 7. View 템플릿: Thymeleaf 1. 기본 기능 구현 MVC 구조를 이용해 CRUD를 구현한다. 1. DB 연결 2. 게시글 작성폼 구현 3. 글 작성 처리 4. 게시글 리스트 구현 5. 게시글 상세페이지 구현 6. 게시글 삭제 7. 게시글 수정 8. 확인 .. 2024. 3. 20. [Spring JPA](5) API 개발 - 지연 로딩과 조회 성능 최적화, 컬렉션 조회 최적화 지연 로딩과 조회 성능 최적화 - 주문 + 배송정보 + 회원을 조회하는 API를 개발한다. - 지연 로딩때문에 발생하는 성능 문제를 해결한다. 주문 조회 V1 package jpabook.jpashop.api; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.Order; import jpabook.jpashop.domain.OrderSearch; import jpabook.jpashop.domain.OrderStatus; import jpabook.jpashop.repository.OrderRepository; import jpabook.jpashop.repository.OrderSimpleQueryDto; import lombo.. 2024. 3. 5. [Spring JPA](4) 웹 계층 개발 홈 화면과 레이아웃 HomeController package jpabook.jpashop.web; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home() { log.info("home controller"); return "home"; } } 스프링 부트 타임리프 기본 설정 spring: thymeleaf: prefix: classpath:.. 2024. 3. 3. [Spring JPA](3) 주문 도메인 개발 구현 기능 1. 상품 주문 2. 주문 내역 조회 3. 주문 취소 Order package jpabook.jpashop.domain; import jakarta.persistence.*; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.BatchSize; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "orders") @Getter @Setter @NoArgsConstruc.. 2024. 3. 3. [Spring JPA](2) 회원 & 상품 도메인 개발 (1) 회원 도메인 개발 구현 기능 1. 회원 등록 2. 회원 목록 조회 MemberRepository package jpabook.jpashop.repository; import jakarta.persistence.EntityManager; import jpabook.jpashop.domain.Member; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import java.util.List; @Repository @RequiredArgsConstructor public class MemberRepositoryOld { private final EntityManager em; public v.. 2024. 3. 3. [Spring JPA](1) 웹 애플리케이션 개발 - 도메인 분석 설계 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원 엔티티 회원 테이블 연관관계 매핑 분석 - 회원과 주문: 일대다, 다대일의 양방향 관계다. 따라서 연관관계의 주인을 정해야 하는데, 외래 키가 있는 주문을 연관 관계의 주인으로 정하는 것이 좋다. 그러므로 'Order.member' 를 'ORDERS.MEMBER_ID' 외래 키와 매핑한다. - 주문상품과 주문: 다대일 양방향 관계다. 외래 키가 주문상품에 있으므로 주문상품이 연.. 2024. 2. 29. 이전 1 2 3 4 5 6 ··· 12 다음