728x90 Back-End/Spring Data14 7.웹 계층 개발 1(회원,상품) 7.웹 계층 개발 1(회원,상품) 목차 1.홈 화면과 레이아웃 2.회원 등록 3.회원 목록 조회 4.상품 등록 5.상품 목록 6.상품 수정 1.홈 화면과 레이아웃 HomeController @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home(){ log.info("home controller"); return "home"; } } @RequestMapping("/") : localhost:8080 -> home.html 이동한다 MemberForm @Getter @Setter public class MemberForm { @NotEmpty(message = "회원 이름은 필수 입니다") privat.. 2021. 1. 1. 6.주문도메인개발 6.주문도메인개발 목차 1.주문 주문상품 엔티티 개발 2.주문 리포지토리 개발(Repository) 3.주문 서비스 개발(Service) 4.주문 기능 테스트 5.주문 검색기능 1.주문 주문상품 엔티티 개발 Order @Entity @Table(name = "orders") @Getter @Setter public class Order { //생성 매세드 생성이 바뀔때 이것만 변경 public static Order createOrder(Member member,Delivery delivery,OrderItem... orderItems){ Order order=new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem.. 2020. 12. 30. 5.상품도메인 개발 5.상품도메인개발 목차 1.상품 엔티티 개발 (비즈니스 로직 추가) 2.상품 리포지토리 개발(Repository) 3.상품 서비스 개발(Service) 4.상품 기능 테스트(Test) 1.상품 엔티티 개발 (비즈니스 로직 추가) Item @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "dtype") @Getter @Setter public abstract class Item { //비즈니스로직 //재고수량 증가 public void addStock(int quantity){ this.stockQuantity +=quantity; } //재고량 감소 public void removeStock(.. 2020. 12. 30. 4.회원도메인 개발 4.회원도메인개발 목차 1.회원엔티티 다시보기 2.회원 리포지토리 개발(Repository) 3.회원 서비스 개발(Service) 4.회원기능 테스트(Test) 1.회원엔티티 다시보기 Member @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name="member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") private List orders=new ArrayList(); } @Id @GeneratedValue 을 이용해서 기본키와 값이 자동으로 상승 @Column(n.. 2020. 12. 30. 3.엔티티클래스 개발2 3.엔티티 클래스 개발2 Category @Entity @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item", joinColumns = @JoinColumn(name = "category_id"), inverseJoinColumns = @JoinColumn(name = "item_id")) private List items = new ArrayList(); @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name =.. 2020. 12. 30. 2.엔티티 클래스 개발1 2.엔티티 클래스 개발1 Member 엔티티 @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name="member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") private List orders=new ArrayList(); } @Id : 기본키 @GenerateValue : 자동으로 값이증가 @Column : 컬럼의 이름을 member_id로 바꾸어줌 @Embedded : 임베디드 타입 값타입하는곳에 표시 @OneToMany : 1대다 관계를 표시한다 mappedBy=.. 2020. 12. 30. 이전 1 2 3 다음 728x90