관심상품은 등록을 한다 라는것은 DB에 저장한다는 뜻이고
어느 클래스가 관심상품을 대표한다고 할 때에 이 클래스는 하나의 테이블이 된다.
이 클래스를 Product라고 하고 기본적으로 Timestamped를 만들어 보자
models > Timestamped.java
@Getter // get 함수를 자동 생성합니다.
@MappedSuperclass // 멤버 변수가 컬럼이 되도록 합니다.
@EntityListeners(AuditingEntityListener.class) // 변경되었을 때 자동으로 기록합니다.
public abstract class Timestamped {
@CreatedDate // 최초 생성 시점
private LocalDateTime createdAt;
@LastModifiedDate // 마지막 변경 시점
private LocalDateTime modifiedAt;
}
이렇게 @EntityListeners(AuditingEntityListener.class)를 사용하려면
메인메서드에도 @EnableJpaAuditing 을 명시 해줘야 한다.
@EnableJpaAuditing // 시간 자동 변경이 가능하도록 합니다.
@SpringBootApplication // 스프링 부트임을 선언합니다.
public class Week04Application {
public static void main(String[] args) {
SpringApplication.run(Week04Application.class, args);
}
}
Timestamped끝
이번엔 관심상품 목록 product를 만들어보자.

관심 상품의 정보가 이처럼 뜬다고 가정헀을 때
• title, image, link, lprice, myprice 정보가 필요함을 알 수 있습니다. ( myprice는 별도로 입력할 내가 원하는 가격 )
models > Product.java
@Getter // get 함수를 일괄적으로 만들어줍니다.
@NoArgsConstructor // 기본 생성자를 만들어줍니다.
@Entity // DB 테이블 역할을 합니다.
public class Product extends Timestamped{
@GeneratedValue(strategy = GenerationType.AUTO)
// ID가 자동으로 생성 및 증가합니다.
@Id
private Long id;
//(nullable = false) 반드시 값을 가지도록 합니다.
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String image;
@Column(nullable = false)
private String link;
@Column(nullable = false)
private int lprice;
@Column(nullable = false)
private int myprice;
}
이번엔 컨트롤러를 생성해주자
controller > ProductRestController.java
@RequiredArgsConstructor // 반드시 필요한 변수 포함하는 생성자 자동생성
@RestController //json으로 응답하는 자동응답기~
public class ProductRestController {
private final ProductRepository productRepository; // 생성시 반드시 필요한 변수
@GetMapping("/api/products")
public List<Product> readProducts(){ // 상품 목록을 반환
return productRepository.findAll(); // 찾는 기능은 repository에 의존
}
}
readProducts 에서 반환해줘야 하는거고 찾는 기능은 repository에 의존하고 있다.
이제 다음르로 repository를 만들어주자
(ARC테스트 결과 조회기능은 정상작동됨~)


'나만의 select shop 만들기' 카테고리의 다른 글
org.json 패키지 설치하기 (0) | 2020.12.06 |
---|---|
관심 상품 등록하기 (0) | 2020.12.06 |
프로젝트 설계하기 (0) | 2020.12.03 |
자바로 네이버 쇼핑 API 사용해보기 (0) | 2020.12.03 |
ARC 의 코드생성기능 (0) | 2020.12.03 |