以下是使用 Spring Boot 实现简单的 CRUD 功能和分页查询的步骤:
一、创建 Spring Boot 项目
可以使用 Spring Initializr 来快速创建一个 Spring Boot 项目。选择所需的依赖,如 Spring Web、Spring Data JPA、MySQL Driver 等。
二、配置数据库连接
在 application.properties
或 application.yml
文件中配置数据库连接信息,例如:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database spring.datasource.username=your_username spring.datasource.password=your_password spring.jpa.hibernate.ddl-auto=update
三、创建实体类
例如创建一个 User
实体类:
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // 构造函数、Getter 和 Setter }
四、创建数据访问层(Repository)
创建 UserRepository
接口继承自 JpaRepository
:
import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { }
五、创建服务层(Service)
import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @Service public class UserService { private final UserRepository userRepository; public UserService(UserRepository userRepository) { this.userRepository = userRepository; } public User saveUser(User user) { return userRepository.save(user); } public void deleteUser(Long id) { userRepository.deleteById(id); } public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } public Page<User> findAllUsers(Pageable pageable) { return userRepository.findAll(pageable); } }
六、创建控制器(Controller)
import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/users") public class UserController { private final UserService userService; public UserController(UserService userService) { this.userService = userService; } @PostMapping public User createUser(@RequestBody User user) { return userService.saveUser(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable Long id) { userService.deleteUser(id); } @GetMapping("/{id}") public User getUser(@PathVariable Long id) { return userService.getUserById(id); } @GetMapping public Page<User> getAllUsers(Pageable pageable) { return userService.findAllUsers(pageable); } }
七、测试
可以使用 Postman 等工具进行测试。
对于分页查询,可以在请求 URL 中添加分页参数,例如 http://localhost:8080/users?page=0&size=10
,表示查询第一页,每页显示 10 条数据。
这样就实现了一个简单的具有 CRUD 功能和分页查询的 Spring Boot 项目。