SpringBoot/쇼핑몰 프로젝트 with JPA
-
[백견불야일타] 6장 상품 등록 및 조회하기SpringBoot/쇼핑몰 프로젝트 with JPA 2022. 10. 8. 01:44
6.1 상품 등록하기 com.shop.entity.ItemImg.java package com.shop.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.*; @Entity @Table(name="item_img") @Getter @Setter public class ItemImg extends BaseEntity{ @Id @Column(name ="item_img_id") @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String imgName; // 이미지 파일명 private String oriImgName; // 원본 이미지 파..
-
[백견불야일타] 5장 연간 관계 매핑SpringBoot/쇼핑몰 프로젝트 with JPA 2022. 9. 20. 03:52
5.1 연관 관계 매핑 종류 연간 관계의 매핑 종류 일대일(1:1): @OneToOne - ex) 장바구니 엔티티와 회원 엔티티는 일대일 매핑 일대다(1:N): @OneToMany - ex) 장바구니 엔티티와 장바구니 상품 엔티티는 일대다 매핑 다대일(N:1): @ManyToOne 다대다(N:N): @ManyToMany 방향성 엔티티를 매핑할 때는 방향성을 고려하는 것이 중요하다. 테이블에서 관계는 항상 양방향이지만, 객체에서는 단방향과 양방향이 존재한다. 5.1.1 일대일 단방향 매핑(장바구니 - 회원) com.shop.entity.Cart.java package com.shop.entity; import lombok.Getter; import lombok.Setter; import lombok.ToS..
-
[백견불야일타] 4장 스프링 시큐리티를 이용한 회원 가입 및 로그인SpringBoot/쇼핑몰 프로젝트 with JPA 2022. 9. 7. 01:30
4.1 스프링 시큐리티란 ? 스프링 기반의 애플리케이션을 위한 보안 솔루션 제공 4.2 스프링 시큐리티 설정 pom.xml org.springframework.boot spring-boot-starter-security 의존성 추가 스프링 시큐리티를 추가하였다면 앞으로 모든 요청은 인증을 필요로 함 http://localhost/thymeleaf/ex07 스프링 시큐리티에서 제공하는 로그인 페이지 기본적으로 제공하는 ID는 user, 비밀번호는 실행할 때 마다 콘솔창에 출력 localhost/logout 로그아웃 기능도 제공 com.shop.config.SecurityConfig.java package com.shop.config; import com.shop.service.MemberService; i..
-
[백견불야일타] 3장 Thymeleaf 학습하기SpringBoot/쇼핑몰 프로젝트 with JPA 2022. 8. 26. 01:41
미리 정의된 템플릿을 만들고 동적으로 HTML 페이지를 만들어서 클라이언트에 전달하는 방식 요청이 올 때마다 서버에서 새로운 HTML 페이지를 만들어 주기 때문에 서버 사이드 렌더링 방식이라고 함 서버 사이드 템플릿 엔진으로는 Thymeleaf, JSP, Freemarker, Groovy, Mustache 가 있음 thymeleafEx01.html Hello Thymelaf!! th:text="${data}" - Thymeleaf 문법 ThymeleafExController.java package com.shop.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import or..
-
[백견불야일타] 2장 Spring Data JPASpringBoot/쇼핑몰 프로젝트 with JPA 2022. 8. 19. 17:37
JPA 자바 ORM기술에 대한 API 표준 - ORM(Object Relational Mapping)이란 객체와 관계형 데이터베이스를 매핑해주는 것을 말함 특정 데이터베이스에 종속되지 않음 (Oracle -> MaraDB) DB중심 설계의 패러다임에서 객체지향적으로 설계 가능 테이블에 새로운 컬럼이 추가되었을 경우, 해당 테이블의 컬럼을 사용하는 DTO 클래스의 필드도 모두 변경해야 한다. JPA에서는 테이블과 매핑된 클래스에 필드만 추가한다면 쉽게 관리 가능하다. 또한 SQL문을 직접 작성하지 않고 객체를 사용하여 동작하기 때문에 유지보수와 재사용성도 증가 단점으로는 복잡한 쿼리 처리(통계 처리 같은 복잡한 쿼리 처리는 SQL문 사용이 좋음), 성능 저하 위험(객체 간의 매핑 설계를 잘못했을 경우 성능..
-
[백견불여일타] 1장 개발환경구축SpringBoot/쇼핑몰 프로젝트 with JPA 2022. 8. 16. 13:44
Build Tool - Maven java 8 Spring boot 2.7.2 Packaging - Jar Dependency - Spring web MySQL Maven - 자바 프로젝트의 빌드를 자동화해주는 빌드 툴 Maven에서 의존성을 추가한다 -> 다른 라이브러리를 사용하기 위해서 추가하는 것 application.properties server.port = 80 // 실행할 포트 설정 application.name = spring-demo SpringDemoApplication.java package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure..