- Spring Boot ORM 教程
- Spring Boot ORM - 主页
- Spring Boot ORM - 概述
- 环境设置
- Spring Boot ORM 和 Spring Data JPA
- Spring Boot ORM - 创建项目
- 应用程序属性
- Spring Boot ORM - 更新项目
- Spring Boot ORM - 测试 Hibernate
- Spring Boot ORM 和 EclipseLink
- Maven EclipseLink
- 更新项目 EclipseLink
- Spring Boot ORM - 测试 EclipseLink
- Spring Boot ORM 有用资源
- Spring Boot ORM - 快速指南
- Spring Boot ORM - 有用的资源
- Spring Boot ORM - 讨论
Spring Boot ORM - 更新项目
现在让我们向 Spring 应用程序添加一个 REST API,它可以添加、编辑、删除和显示员工。
实体 - Employee.java
package com.tutorialspoint.springbootorm.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Employee { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; private int age; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
存储库 - EmployeeRepository.java
package com.tutorialspoint.springbootorm.repository; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; import com.tutorialspoint.springbootorm.entity.Employee; @Repository public interface EmployeeRepository extends CrudRepository<Employee, Integer> { }
服务 - EmployeeService.java
package com.tutorialspoint.springbootorm.service; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.tutorialspoint.springbootorm.entity.Employee; import com.tutorialspoint.springbootorm.repository.EmployeeRepository; @Service public class EmployeeService { @Autowired EmployeeRepository repository; public Employee getEmployeeById(int id) { return repository.findById(id).get(); } public List<Employee> getAllEmployees(){ List<Employee> employees = new ArrayList<Employee>(); repository.findAll().forEach(employee -> employees.add(employee)); return employees; } public void saveOrUpdate(Employee employee) { repository.save(employee); } public void deleteEmployeeById(int id) { repository.deleteById(id); } }
服务 - EmployeeController.java
package com.tutorialspoint.springbootorm.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.tutorialspoint.springbootorm.entity.Employee; import com.tutorialspoint.springbootorm.service.EmployeeService; @RestController @RequestMapping(path = "/emp") public class EmployeeController { @Autowired EmployeeService employeeService; @GetMapping("/employees") public List<Employee> getAllEmployees(){ return employeeService.getAllEmployees(); } @GetMapping("/employee/{id}") public Employee getEmployee(@PathVariable("id") int id) { return employeeService.getEmployeeById(id); } @DeleteMapping("/employee/{id}") public void deleteEmployee(@PathVariable("id") int id) { employeeService.deleteEmployeeById(id); } @PostMapping("/employee") public void addEmployee(@RequestBody Employee employee) { employeeService.saveOrUpdate(employee); } @PutMapping("/employee") public void updateEmployee(@RequestBody Employee employee) { employeeService.saveOrUpdate(employee); } }
主应用程序 - SpringBootOrmApplication.java
package com.tutorialspoint.springbootorm; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootOrmApplication { public static void main(String[] args) { SpringApplication.run(SpringBootOrmApplication.class, args); } }