一、项目准备工作
创建一个 Spring Boot 项目,并添加必要的依赖,如 spring-boot-starter-web
、spring-boot-starter-data-jpa
、数据库驱动等。
配置数据库连接信息,例如在 application.properties
中添加以下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=12345678
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# Hibernate configuration
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
创建 DAO(数据访问对象)类。这个类通常使用 JPA(Java Persistence API)提供的接口和注解定义实体类与数据库之间的映射关系。例如:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByLastName(String lastName);
}
定义实体类。实体类通常包含对象属性和对应的 getter/setter 方法。同时,使用 JPA 注解标记实体类与数据库表的映射关系。例如:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
// getter/setter methods...
}
创建业务逻辑层(Service)和控制器层(Controller)。在业务逻辑层中实现各种操作的具体逻辑,例如创建用户、查询用户、更新用户、删除用户等。在控制器层中处理 HTTP 请求并调用业务逻辑层的方法。例如:
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/")
public List<User> getAllUsers() {
return userService.getAllUsers();
}
@PostMapping("/")
public User createUser(@RequestBody User user) {
return userService.createUser(user);
}
@GetMapping("/{id}")
public User getUserById(@PathVariable("id") Long id) {
return userService.getUserById(id);
}
@PutMapping("/{id}")
public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {
return userService.updateUser(id, user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable("id") Long id) {
userService.deleteUser(id);
}
}
最后启动应用程序并测试。运行项目,并使用浏览器或其他 HTTP 客户端工具访问 http://localhost:8080/api/users/
等路径,进行创建、查询、更新、删除等操作,查看结果是否符合预期。