概述
在Spring Boot项目中集成MySQL数据库是常见的开发需求。本文将演示如何快速配置MySQL数据库连接,并通过JPA实现基本的增删改查(CRUD)操作。
环境准备
- JDK 1.8+
- MySQL 5.7+(推荐8.0+)
- Spring Boot 2.7.x+
- IDE(IntelliJ IDEA/Eclipse)
实现步骤
1. 创建Spring Boot项目
通过Spring Initializr或IDE创建项目,选择以下依赖:
- Spring Web
- Spring Data JPA
- MySQL Driver
2. 添加依赖(pom.xml)
<dependencies><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><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>
</dependencies>
3. 配置数据库连接(application.properties)
spring.datasource.url=jdbc:mysql://localhost:3306/springboot_db?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
4. 创建实体类
@Entity
@Table(name = "users")
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(nullable = false)private String name;@Column(unique = true)private String email;// 构造器/getter/setter省略(需实际添加)
}
5. 创建Repository接口
public interface UserRepository extends JpaRepository<User, Long> {
}
6. 实现Service层
@Service
public class UserService {@Autowiredprivate UserRepository userRepository;public User createUser(User user) {return userRepository.save(user);}public List<User> getAllUsers() {return userRepository.findAll();}public Optional<User> getUserById(Long id) {return userRepository.findById(id);}public User updateUser(User user) {return userRepository.save(user);}public void deleteUser(Long id) {userRepository.deleteById(id);}
}
7. 创建Controller
@RestController
@RequestMapping("/api/users")
public class UserController {@Autowiredprivate UserService userService;@PostMappingpublic User createUser(@RequestBody User user) {return userService.createUser(user);}@GetMappingpublic List<User> getAllUsers() {return userService.getAllUsers();}@GetMapping("/{id}")public Optional<User> getUserById(@PathVariable Long id) {return userService.getUserById(id);}@PutMapping("/{id}")public User updateUser(@PathVariable Long id, @RequestBody User user) {user.setId(id);return userService.updateUser(user);}@DeleteMapping("/{id}")public void deleteUser(@PathVariable Long id) {userService.deleteUser(id);}
}
测试API
- 创建用户:
POST /api/users
- 获取所有用户:
GET /api/users
- 获取单个用户:
GET /api/users/{id}
- 更新用户:
PUT /api/users/{id}
- 删除用户:
DELETE /api/users/{id}
常见问题排查
-
数据库连接失败
- 检查MySQL服务是否启动
- 验证用户名/密码是否正确
- 确保数据库
springboot_db
已存在
-
表未自动创建
- 检查
ddl-auto
配置是否为update - 确认实体类正确使用JPA注解
- 检查
-
时区问题
- 在连接URL中添加
&serverTimezone=Asia/Shanghai
- 在连接URL中添加
总结
通过Spring Data JPA可以快速实现数据库操作。实际开发中可结合DTO、异常处理等功能完善项目。建议使用Postman测试接口,并通过MySQL Workbench验证数据变更。
希望这篇教程能帮助您快速上手Spring Boot与MySQL的集成开发!如有疑问欢迎留言讨论。