728x90
/*Timestamped.java*/
package com.sparta.week04.models;
...
@Getter // get 함수를 자동 생성합니다.
@MappedSuperclass // 멤버 변수가 컬럼이 되도록 합니다.
@EntityListeners(AuditingEntityListener.class) // 변경되었을 때 자동으로 기록합니다.
public abstract class Timestamped {
@CreatedDate // 최초 생성 시점
private LocalDateTime createdAt;
@LastModifiedDate // 마지막 변경 시점
private LocalDateTime modifiedAt;
}
/*Week04Application.java*/
package com.sparta.week04;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@EnableJpaAuditing //시간 자동 변경 가능하도록 함
@SpringBootApplication //스프링 부트임을 선언
public class Week04Application {
public static void main(String[] args) {
SpringApplication.run(Week04Application.class, args);
}
}
/*Product.java*/
package com.sparta.week04.models;
...
@Getter // get 함수를 일괄적으로 만들어줍니다.
@NoArgsConstructor // 기본 생성자를 만들어줍니다.
@Entity // DB 테이블 역할을 합니다.
public class Product extends Timestamped{
// ID가 자동으로 생성 및 증가합니다.
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long id;
// 반드시 값을 가지도록 합니다.
@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; //내가 원하는 최저가
}
/*ProductRepository.java*/
package com.sparta.week04.models;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProductRepository extends JpaRepository<Product, Long> {
}
package com.sparta.week04.controller;
...
import java.util.List;
@RequiredArgsConstructor //final로 선언된 멤버 변수를 자동 생성
@RestController //JSON으로 데이터를 주고받음을 선언
public class ProductRestController {
private final ProductRepository productRepository;
//등록된 전체 상품 목록 조회
@GetMapping("/api/products")
public List<Product> readProducts() {
return productRepository.findAll();
}
}
'Spring Framework' 카테고리의 다른 글
나만의셀렉샵)키워드로 상품 검색하기 - NaverShopSearch 발전시키기 (0) | 2021.07.27 |
---|---|
나만의셀렉샵) 관심 상품 등록하기 (0) | 2021.07.26 |
자바로 네이버 쇼핑 API 이용하기 (0) | 2021.07.25 |
타임라인서비스) 조회 시간으로부터 24시간 이내 작성한 게시물만 조회 (0) | 2021.07.24 |
타임라인서비스) 메모 삭제하기 - deleteOne 함수 (0) | 2021.07.24 |