본문 바로가기
728x90
반응형

Dev/JPA35

[JPA] JPA 활용 I - 회원 도메인 개발 회원 기능인 회원 등록, 조회 기능을 구현해보자 회원 레포지토리 개발 파일 경로 main/java/jpabook/jpashop/repository/MemberRepository.java 소스 구현 package jpabook.jpashop.repository; @Repository public class MemberRepository { @PersistenceContext private EntityManager em; /** * save Member * @param member */ public void save(Member member) { em.persist(member); } /** * find one Member * @param id * @return Member */ public Member f.. 2021. 9. 16.
[JPA] JPA 활용 I - 애플리케이션 구현 준비 구현 요구사항 회원 기능 : 회원 등록, 조회 상품 기능 : 상품 등록, 수정, 조회 주문 기능 : 상품 주문, 주문내역 조회, 주문 취소 애플리케이션 아키텍쳐 계층형 구조 사용 Controller, Web : 웹 계층 Service : 핵심 비즈니스 로직, 트랜잭션 처리 Repository : JPA를 직접 사용하는 계층으로 EntityManager를 사용 Domain : 엔티티가 모여있는 계층으로 모든 계층에서 접근, 사용이 가능 패키지 구조 jpabook.jpashop ㄴ domain ㄴ exception ㄴ repository ㄴ service ㄴ web 2021. 9. 16.
[JPA] JPA 활용 I - 도메인 분석 설계 쇼핑몰을 주제로하여 간단한 웹 애플리케이션을 개발해보려 한다. 요구사항 분석 기능목록 회원 기능 : 회원 등록, 조회 상품 기능 : 상품 등록, 수정, 조회 주문 기능 : 상품 주문, 주문내역 조회, 주문 취소 기타 요구사항 - 상품은 재고 관리가 필요하다. - 상품의 종류는 도서, 음반, 영화가 있다. - 상품을 카테고리로 구분할 수 있다. - 상품 주문시 배송정보를 입력할 수 있다. 도메인 모델과 테이블 설계 관계도 회원, 주문, 상품의 관계는 회원은 여러 주문을 할 수 있고, 그 주문에는 여러 상품이 담겨있다. 이때 주문과 상품은 다대다 관계이기 때문에 중간 엔티티 주문상품을 추가하여 일대다, 다대일 관계로 풀어낸다. 상품은 도서, 음반, 영화로 구성되며 상속 관계를 가진다. 엔티티 및 테이블 설계.. 2021. 9. 15.
[JPA] JPA 활용 I - 프로젝트 환경설정 프로젝트 생성 Spring Initializr에서 프로젝트 생성 프로젝트 구성 - Gradle Project, Java Language - Spring 2.4.X version, Java 11 version - Group Id : jpabook, Artifact Id : jpashop 의존성 구성 - Spring Web Starter - Thymeleaf - Spring Data JPA - H2 Database - Lombok - Validation JUnit 4 설정 해당 강의는 JUnit4를 기준으로 진행하기 때문에 build.gradle내에 아래 구문을 추가해야 한다. 추가하지 않을 경우 JUnit5로 동작한다. // JUnit4 추가 testImplementation("org.junit.vinta.. 2021. 9. 14.
[JPA] JPA 활용 I - 강좌 소개 강좌명 실전! 스프링 부트와 JPA 활용 1 - 웹 애플리케이션 개발 강의목표 최신 자바 기술(스프링 부트, JPA 등)을 활용해서 실무에서 웹 애플리케이션을 제대로 개발할 수 있도록 하는 것 커리큘럼 1편 : 웹 애플리케이션 개발 (1) 프로젝트 환경설정 (2) 요구사항 분석 (3) 도메인과 테이블 설계 (4) 아키텍쳐 구성 (5) 핵심 비즈니스 로직 개발(회원, 상품, 주문) (6) 테스트 (7) 웹 계층 개발 2편 : API 개발 및 성능 최적화 (1) REST API 개발 (2) 성능 최적화 프로젝트 환경 스프링 부트 JPA Gradle Hibernate Thymeleaf H2 Database 참고 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A.. 2021. 9. 14.