[스프링부트] 17. 상점 v1 테이블 생성

백하림's avatar
Mar 20, 2025
[스프링부트] 17. 상점 v1 테이블 생성

구조

notion image

update-form.mustache

{{> layout/header}} <section> <form action="/store/{{id}}/update" method="POST"> <input type="text" value="바나나"><br> <input type="text" value="100"><br> <input type="text" value="3000"><br> <button type="submit">상품수정</button> </form> </section> </body> </html>

detail.mustache

{{> layout/header}} <section> <a href="/store/{{id}}/update-form">수정화면가기</a> <form action="/store/{{id}}/delete" method="POST"> <button type="submit">삭제</button> </form> <div> 번호 : 1 <br> 상품명 : 바나나 <br> 상품가격 : 3000원 <br> 상품재고 : 100개 <br> </div> <form action="#" method="POST"> <input type="hidden" value="1"> <input type="text" placeholder="당신은 누구인가요?"> <input type="text" placeholder="Enter 개수"> <button type="submit">구매</button> </form> </section> </body> </html>

save-form.mustache

{{> layout/header}} <section> <form action="/store/save" method="POST"> <input type="text" placeholder="상품명"><br> <input type="text" placeholder="수량"><br> <input type="text" placeholder="가격"><br> <button type="submit">상품등록</button> </form> </section> </body> </html>

header.mustache

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>blog</title> </head> <body> <nav> <ul> <li> <a href="/">상품 목록</a> </li> <li> <a href="/store/save-form">상품 등록</a> </li> <li> <a href="/log">구매 목록</a> </li> </ul> </nav> <hr>

list.mustache

{{>layout/header}} <section> <table border="1"> <tr> <th>번호</th> <th>상품명</th> <th></th> </tr> <tr> <td>1</td> <td>바나나</td> <td><a href="/store/1">상세보기</a></td> </tr> <tr> <td>2</td> <td>딸기</td> <td><a href="/store/2">상세보기</a></td> </tr> </table> </section> </body> </html>

Store.java

package com.metacoding.storev1.store; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; import lombok.Getter; import lombok.NoArgsConstructor; @Getter @NoArgsConstructor // JPA가 ObjectMapping을 위해 new할 때 사용함. 무조건 붙여라 @Table(name = "store_tb") @Entity // 설정파일에서 테이블을 생성 해준다. public class Store { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; private Integer stock; // 재고 private Integer price; }

Log.java

package com.metacoding.storev1.log; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; import lombok.Getter; import lombok.NoArgsConstructor; @Getter @NoArgsConstructor // JPA가 ObjectMapping을 위해 new할 때 사용함. 무조건 붙여라 @Table(name = "log_tb") @Entity // 설정파일에서 테이블을 생성 해준다. public class Log { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private Integer storeId; // 상품 ID (FK) private Integer qty; // 구매 수량 private Integer totalPrice; // 총 구매 금액 qty * store(price) private String buyer; // 구매자 }
 
Share article

harimmon