欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > Spring Boot项目连接MySQL数据库及CRUD操作示例

Spring Boot项目连接MySQL数据库及CRUD操作示例

2025/4/6 6:15:30 来源:https://blog.csdn.net/weixin_62922042/article/details/147011688  浏览:    关键词:Spring Boot项目连接MySQL数据库及CRUD操作示例

概述

在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}

常见问题排查

  1. 数据库连接失败

    • 检查MySQL服务是否启动
    • 验证用户名/密码是否正确
    • 确保数据库springboot_db已存在
  2. 表未自动创建

    • 检查ddl-auto配置是否为update
    • 确认实体类正确使用JPA注解
  3. 时区问题

    • 在连接URL中添加&serverTimezone=Asia/Shanghai

总结

通过Spring Data JPA可以快速实现数据库操作。实际开发中可结合DTO、异常处理等功能完善项目。建议使用Postman测试接口,并通过MySQL Workbench验证数据变更。


希望这篇教程能帮助您快速上手Spring Boot与MySQL的集成开发!如有疑问欢迎留言讨论。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词