orderForm.html 주문회원 회원선택 상품명 상품선택 주문수량 Submit orderList.html 주문상태 option 검색 # 회원명 대표상품 이름 대표상품 주문가격 대표상품 주문수량 상태 일시 CANCEL df OrderController.java package com.jpabook.controller; import com.jpabook.domain.Member; import com.jpabook.domain.item.Item; import com.jpabook.service.ItemService; import com.jpabook.service.MemberService; import com.jpabook.service.OrderService; import lombok.RequiredArg..
ItemController.java /** * ITEM 수정을 위한 상세화면 * @param itemId * @param model * @return */ @GetMapping("items/{itemId}/edit") public String updateItemForm(@PathVariable("itemId") Long itemId, Model model) { Book item = (Book) itemService.findOne(itemId); BookForm form = new BookForm(); form.setId(item.getId()); form.setName(item.getName()); form.setPrice(item.getPrice()); form.setStockQuantity(item...
📚 석유는 어떻게 세계를 지배하는가 석유를 중심으로 세계 경제와 각국의 이해관계에 대해서 이해할 수 있으며 세계사에 대한 통찰력을 기를 수 있었던 것 같다. 오늘의 세계를 제대로 이해하고 싶다면 시대를 꿰뚫는 키워드를 찾아야 합니다. 시간이 지나도 변하지 않는 결정 요인을 골라낼 수 있어야 합니다. 데우스 엑스 마키나Deus Ex Machina(갑자기 신이 내려와 문제 상황을 일거에 해결해버리는 극의 기법)’ 상상력은 자기가 가진 레퍼런스에 비례한다는 말이 있습니다. 어느 분야에서나 역사에 대한 지식은 필수입니다. 특정 분야의 역사를 알면 그 분야에서 하는 일의 위치와 맥락을 알게 됩니다. 반대로 역사를 모르면 맥락 없는 방법이나 좌표에 맞지 않는 방식을 취하기도 합니다. 과거의 데이터를 모르는 채 미래..
먼저 DTO를 생성한다. BookForm package com.kyhslam.controller; import lombok.Getter; import lombok.Setter; @Setter @Getter public class BookForm { private Long id; private String name; private int price; private int stockQuantity; private String author; private String isbn; } ItemController package com.kyhslam.controller; import com.kyhslam.domain.item.Book; import com.kyhslam.domain.item.Item; import c..
MemberForm package com.kyhslam.controller; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotEmpty; @Setter @Getter public class MemberForm { @NotEmpty(message = "회원 이름은 필수입니다.") private String name; private String city; private String street; private String zipcode; } MemberController package com.kyhslam.controller; import com.kyhslam.domain.Address; import com...
thymeleaf 사이트 : www.thymeleaf.org/ Thymeleaf Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymeleaf in your favourite tools, using your favourite web-development framework. Check out our Ecosystem to see more integrati www.thymeleaf.org thymeleaf 튜토리얼 : www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html Tuto..
ImageController package com.kyhslam.controller; import com.kyhslam.domain.UploadFile; import com.kyhslam.service.FileService; import com.kyhslam.service.ImageService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.R..
Domain package com.kyhslam.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; @Entity @Setter @Getter @Table(name = "voc_article") public class Article { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) @Column(name = "article_id") private Long id; private String subject; @Lob private String content; private LocalDateTime regDat..
OrderServiceTest package com.jpabook.service; import com.jpabook.domain.Address; import com.jpabook.domain.Member; import com.jpabook.domain.Order; import com.jpabook.domain.OrderStatus; import com.jpabook.domain.item.Book; import com.jpabook.domain.item.Item; import com.jpabook.exception.NotEnoughStockException; import com.jpabook.repository.OrderRepository; import org.junit.Test; import org.ju..
Order package com.jpabook.domain; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "orders") @Setter @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Order { @Id @GeneratedValue @Column(n..
Order package com.jpabook.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "orders") @Setter @Getter public class Order { @Id @GeneratedValue @Column(name="order_id") private Long id; @ManyToOne @JoinColumn(name = "member_id") private Member member; @OneToMany(m..
ItemRepository package com.jpabook.repository; import com.jpabook.domain.item.Item; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import java.util.List; @Repository @RequiredArgsConstructor public class ItemRepository { private final EntityManager em; public void save(Item item) { if(item.getId() == null) { em.per..