📅  最后修改于: 2023-12-03 15:37:39.132000             🧑  作者: Mango
在本教程中,我们将在UserResource类中更新POST和DELETE方法,以便使用JPA与数据库进行交互。我们将使用Spring Boot和H2数据库来简化示例。
pom.xml
文件中:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
我们将更新UserResource类中的POST方法,以便创建新用户并将其保存到数据库中。要做到这一点,我们将使用Spring Data JPA和H2数据库。
在开始编码之前,请确保你具有以下内容:
在以下代码片段中,我们将使用UserDTO来创建新用户。我们将其转换为User对象,当保存到数据库时,该对象将自动转换为数据库实体:
@Autowired
private UserRepository userRepository;
@PostMapping
public ResponseEntity<User> createUser(@Valid @RequestBody UserDTO userDTO) {
User user = new User(userDTO.getName(), userDTO.getEmail());
userRepository.save(user);
return ResponseEntity.ok(user);
}
我们将更新UserResource类中的DELETE方法,以便从数据库中删除用户。要做到这一点,我们将使用Spring Data JPA和H2数据库。
在开始编码之前,请确保你具有以下内容:
在以下代码片段中,我们将使用用户ID查找并删除用户。如果用户不存在,则返回NOT FOUND响应,否则返回OK响应。
@Autowired
private UserRepository userRepository;
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
Optional<User> optionalUser = userRepository.findById(id);
if (optionalUser.isPresent()) {
userRepository.deleteById(id);
return ResponseEntity.ok().build();
} else {
return ResponseEntity.notFound().build();
}
}
现在我们已经更新了UserResource类的POST和DELETE方法,以便使用JPA与数据库进行交互。这样,我们就可以使用Spring Boot和H2数据库,以简单而直观的方式管理用户实体了。