以下是使用Spring Boot结合JPA连接MySQL数据库的详细步骤:
步骤1:创建Spring Boot项目
-
初始化项目
使用Spring Initializr创建项目,选择以下依赖:
• Spring Data JPA(提供JPA支持)• MySQL Driver(MySQL数据库驱动)
• Spring Web(可选,用于创建REST接口)
-
添加依赖
检查pom.xml是否包含以下依赖:xml 复制 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
步骤2:配置数据库连接
在application.properties(或application.yml)中添加数据库配置:
properties
复制
# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
• 关键参数说明:
• ddl-auto: 可选update(自动更新表结构)或create(每次重建表)。
• show-sql: 控制台打印SQL语句,便于调试。
步骤3:创建实体类
-
定义实体类
使用@Entity注解映射数据库表,@Id标记主键,@GeneratedValue设置主键生成策略:java 复制 @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // 省略Getter和Setter }
步骤4:创建Repository接口
-
继承JpaRepository
创建一个接口继承JpaRepository,Spring Data JPA会自动生成CRUD方法:java 复制 @Repository public interface UserRepository extends JpaRepository<User, Long> { // 可自定义查询方法(如按名称查询) List<User> findByName(String name); }
步骤5:编写Service和Controller
-
服务层
注入UserRepository并调用JPA方法:java 复制 @Service public class UserService { @Autowired private UserRepository userRepository; public User saveUser(User user) { return userRepository.save(user); } public List<User> getAllUsers() { return userRepository.findAll(); } } -
控制器层
创建REST接口测试数据库操作:java 复制 @RestController public class UserController { @Autowired private UserService userService; @PostMapping("/users") public User addUser(@RequestBody User user) { return userService.saveUser(user); } @GetMapping("/users") public List<User> getAllUsers() { return userService.getAllUsers(); } }
步骤6:测试验证
-
启动应用
运行SpringBootApplication主类,检查控制台是否打印数据库连接成功的日志。 -
接口测试
• 使用Postman发送POST http://localhost:8080/users插入数据。• 访问
GET http://localhost:8080/users查看所有用户数据。
注意事项
- 数据库版本兼容性
MySQL 8.0+需在URL中添加serverTimezone=UTC,避免时区错误。 - 自动建表机制
ddl-auto=update适用于开发环境,生产环境建议关闭或使用Flyway等迁移工具。 - 实体类与表映射
实体类字段名需与数据库表字段名一致,或通过@Column(name = "column_name")显式指定。