一、确保MySQL数据库已安装及可用
在使用Spring Boot连接MySQL数据库之前,必须确保MySQL数据库已安装并可用。可以在命令行终端中输入以下命令来检查MySQL服务是否在运行:
systemctl status mysql.service
如果MySQL服务未在运行,则可以使用以下命令来启动它:
systemctl start mysql.service
如果MySQL服务已在运行但无法连接,则可以检查MySQL的配置文件是否正确配置。
二、在Spring Boot项目中添加MySQL数据库依赖
在开始连接MySQL数据库之前,需要在Spring Boot项目中添加相应的依赖。一般情况下,我们使用Spring Data JPA来与MySQL数据库进行交互,因此需要添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
添加完依赖后,需要重新加载项目以使其生效。
三、配置MySQL数据库连接信息
在Spring Boot项目的application.properties或application.yml配置文件中,需要添加MySQL数据库的连接信息。以下是一个完整的MySQL数据库配置范例:
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
上述范例中,我们指定了MySQL数据库的连接地址、用户名、密码、驱动类名称以及JPA配置信息。
四、创建MySQL数据库表结构
在启动Spring Boot项目之前,需要确保MySQL数据库中已创建所需的表结构。可以使用JPA实体和Spring Data JPA仓库来自动生成表结构,也可以手动创建表结构。
以下是一个用于自动生成MySQL数据库表结构的JPA实体和Spring Data JPA仓库范例:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@Column(name = "email")
private String email;
// 省略getter和setter
}
public interface UserRepository extends JpaRepository<User, Long> {
}
如果选择手动创建MySQL数据库表结构,则可以使用以下MySQL数据库脚本:
CREATE TABLE `users` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
五、使用Spring Data JPA访问MySQL数据库
在项目中使用Spring Data JPA访问MySQL数据库非常简单,只需要在相应的仓库类中添加JPA方法即可。以下是一个使用Spring Data JPA访问MySQL数据库的示例:
@Autowired
private UserRepository userRepository;
@RequestMapping("/save")
public String saveUser() {
User user = new User();
user.setFirstName("John");
user.setLastName("Doe");
user.setEmail("johndoe@mail.com");
userRepository.save(user);
return "Saved";
}
@RequestMapping("/findall")
public String findAllUsers() {
List<User> users = userRepository.findAll();
return users.toString();
}
上述示例中,我们使用Autowired注解将UserRepository依赖注入Spring Boot Controller中。然后,我们创建了一个新的User实体对象并通过调用userRepository的save()方法将其保存到MySQL数据库中。最后,我们在Controller中创建了一个findAllUsers()方法,该方法通过调用userRepository的findAll()方法从MySQL数据库中检索所有用户数据。
六、包装与总结
在本文中,我们从多个方面介绍了使用Spring Boot连接MySQL数据库的正确姿势。我们确保MySQL数据库已安装并可用,添加了必要的MySQL数据库Spring Boot依赖,配置了MySQL数据库连接信息并创建了表结构。最后,我们演示了如何使用Spring Data JPA访问MySQL数据库。