您的位置:

使用Spring Boot连接MySQL数据库的正确姿势

一、确保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数据库。