使用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数据库。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/276058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-17 19:38
下一篇 2024-12-17 19:38

相关推荐

  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • Spring Boot 集成 Jacoco

    本文将从以下几个方面介绍如何在 Spring Boot 中集成 Jacoco:1、Jacoco 概述;2、Spring Boot 集成 Jacoco 的配置;3、生成 Jacoco…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Spring Boot中发GET请求参数的处理

    本文将详细介绍如何在Spring Boot中处理GET请求参数,并给出完整的代码示例。 一、Spring Boot的GET请求参数基础 在Spring Boot中,处理GET请求参…

    编程 2025-04-29
  • 如何在代码中打出正确的横杆

    在编程中,横杆是一个很常见的符号,但是有些人可能会在打横杆时出错。本文将从多个方面详细介绍如何在代码中打出正确的横杆。 一、正常使用横杆 在代码中,直接使用“-”即可打出横杆。例如…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • Git config命令用法介绍:用正确的邮箱保障开发工作

    本文将详细介绍如何使用git config命令配置Git的全局和本地用户信息,特别是如何正确使用用户邮箱,保障Git操作的正常进行。 一、git config命令介绍 Git中的每…

    编程 2025-04-29
  • 如何在Spring Cloud中整合腾讯云TSF

    本篇文章将介绍如何在Spring Cloud中整合腾讯云TSF,并提供完整的代码示例。 一、TSF简介 TSF (Tencent Serverless Framework)是腾讯云…

    编程 2025-04-29
  • 如何使用Spring Boot ElasticJob进行配置覆盖

    本文将详细介绍如何使用Spring Boot ElasticJob进行配置覆盖。 一、目录结构 我们需要准备两个目录,分别是“elastic-job-lite-spring-boo…

    编程 2025-04-28
  • leveldb和unqlite:两个高性能的数据库存储引擎

    本文将介绍两款高性能的数据库存储引擎:leveldb和unqlite,并从多个方面对它们进行详细的阐述。 一、leveldb:轻量级的键值存储引擎 1、leveldb概述: lev…

    编程 2025-04-28

发表回复

登录后才能评论