📅  最后修改于: 2023-12-03 15:39:14.246000             🧑  作者: Mango
JPA (Java Persistence API) 是 Java 企业版中用于管理持久化数据的 API。RESTful 服务是一种 API 设计方式,它使用 HTTP 协议的 GET、POST、PUT、DELETE 等方法实现对资源的 CRUD 操作。将 RESTful 服务连接到 JPA 可以使应用程序更容易地访问持久化数据。
在 pom.xml
文件中,添加 JPA 和 RESTful 相关依赖:
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在 application.properties
文件中,配置数据源相关信息,例如:
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
定义一个 JPA 实体类,例如:
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "last_name")
private String lastName;
@Column(name = "email")
private String email;
// 省略 get/set 方法
}
定义一个 JPA Repository 接口,用于访问数据库,例如:
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
在控制器中使用 JPA Repository 完成对数据的 CRUD 操作。例如:
@RestController
@RequestMapping("/employees")
public class EmployeeController {
@Autowired
private EmployeeRepository employeeRepository;
@GetMapping
public List<Employee> getAllEmployees() {
return employeeRepository.findAll();
}
@GetMapping("/{id}")
public Employee getEmployeeById(@PathVariable Long id) {
Optional<Employee> optionalEmployee = employeeRepository.findById(id);
return optionalEmployee.orElse(null);
}
@PostMapping
public Employee addEmployee(@RequestBody Employee employee) {
return employeeRepository.save(employee);
}
@PutMapping("/{id}")
public Employee updateEmployee(@PathVariable Long id, @RequestBody Employee employee) {
employee.setId(id);
return employeeRepository.save(employee);
}
@DeleteMapping("/{id}")
public void deleteEmployee(@PathVariable Long id) {
employeeRepository.deleteById(id);
}
}
执行 main
方法启动应用程序,访问 http://localhost:8080/employees
可以查看所有员工信息,使用 POST、PUT、DELETE 请求可以进行更新和删除操作。
本文介绍了如何将 RESTful 服务连接到 JPA,通过使用 JPA Repository 完成对数据的 CRUD 操作,实现了对持久化数据的访问。