JAVA 객체와 데이터베이스의 관계를 매핑(ORM)하는 기술에 대한 인터페이스
@Entity(name = "user")괄호 안 데이터베이스와 매핑JpaRepository<User, Long>CRUD 제공@GeneratedValueid가 어떤 방식으로 생성 되는지findAll()SELECT *과 같음save()insert into와 같음
Spring Data JPA에서 제공하는 기본적인 CRUD(Create, Read, Update, Delete) 기능을 제공하는 인터페이스
전제 - applicaton.yaml을 통해 데이터베이스 기본 연결사항을 작성해야 함.
public interface UserRepository extends JpaRepository<UserEntity, Long> {
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity(name = "user")// 괄호 안 데이터베이스와 매핑
public class UserEntity {
@Id// 주요 키(primary key)를 나타내는 어노테이션
@GeneratedValue(strategy = GenerationType.IDENTITY)// id가 어떤 방식으로 생성 되는지
private Long id;
private String name;
private Integer age;
private String email;
}
@RequiredArgsConstructor //생성자 자동 생성
@RestController
@RequestMapping("/api/user")
public class UserApiController {
private final UserRepository userRepository;
@GetMapping("/find-all")
public List<UserEntity> findAll(){
return userRepository.findAll();
}
@GetMapping("/name")
public void autoSave(@RequestParam String name){ // 요청 파라미터를 매개변수로
var user = UserEntity.builder().name(name).build();
userRepository.save(user);
}
}

