如何在 Spring Boot 中配置数据库?

在 Spring Boot 中配置数据库是一个相对简单的过程,通常涉及到以下几个步骤:添加数据库驱动依赖、配置数据源属性、以及可选的配置 JPA(如果使用)。下面是小编给大家编写的一个详细的指南,以MySQL 数据库为例。

文章目录
      • [1. 添加数据库驱动依赖](#1. 添加数据库驱动依赖)
        • [Maven 示例](#Maven 示例)
        • [Gradle 示例](#Gradle 示例)
      • [2. 配置数据源属性](#2. 配置数据源属性)
        • [application.properties 示例](#application.properties 示例)
        • [application.yml 示例](#application.yml 示例)
      • [3. 配置 JPA(可选)](#3. 配置 JPA(可选))
        • [application.properties 示例](#application.properties 示例)
        • [application.yml 示例](#application.yml 示例)
      • 解释配置项
      • [4. 创建实体类和仓库接口(可选)](#4. 创建实体类和仓库接口(可选))
      • [5. 使用仓库接口](#5. 使用仓库接口)
      • 总结
1. 添加数据库驱动依赖

首先,你需要在项目的 pom.xml(如果你使用 Maven)或 build.gradle(如果你使用 Gradle)文件中添加相应的数据库驱动依赖。

Maven 示例
复制代码
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>
Gradle 示例
复制代码
implementation 'mysql:mysql-connector-java:8.0.23'
2. 配置数据源属性

接下来,你需要在 application.propertiesapplication.yml 文件中配置数据源的相关属性。

application.properties 示例
复制代码
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
application.yml 示例
复制代码
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
    username: your_username
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver
3. 配置 JPA(可选)

如果你使用的是 Spring Data JPA,还需要配置一些 JPA 相关的属性。

application.properties 示例
复制代码
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
application.yml 示例
复制代码
spring:
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect
解释配置项
  • spring.datasource.url:数据库的连接 URL。这里指定了数据库的地址、端口、数据库名称以及一些连接参数。
  • spring.datasource.username:数据库用户名。
  • spring.datasource.password:数据库密码。
  • spring.datasource.driver-class-name:数据库驱动类名。
  • spring.jpa.hibernate.ddl-auto :Hibernate 的 DDL 自动生成策略。常见的值有 create(每次启动时重新创建数据库表)、update(更新现有表结构)、validate(验证现有表结构)、none(不执行任何 DDL 操作)。
  • spring.jpa.show-sql:是否在控制台显示生成的 SQL 语句。
  • spring.jpa.properties.hibernate.dialect:Hibernate 方言,用于指定数据库的方言。
4. 创建实体类和仓库接口(可选)

如果你使用 Spring Data JPA,可以创建实体类和仓库接口来操作数据库。

实体类示例
复制代码
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;

    // Getters and Setters
}
仓库接口示例
复制代码
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}
5. 使用仓库接口

你可以在服务类中注入仓库接口并使用它来操作数据库。

复制代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public List<User> findAllUsers() {
        return userRepository.findAll();
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }
}
总结

以上就是在 Spring Boot 中配置数据库的基本步骤。通过这些配置,你可以轻松地连接到数据库并使用 Spring Data JPA 进行数据操作。如果有任何问题或需要进一步的帮助,可以在下方评论区留言哟!

相关推荐
神奇小汤圆3 小时前
阿里面试官:什么才是可工程化落地的RAG项目
后端
ZPYZTech3 小时前
用 Wails + Go + Vue3 开发桌面软件,聊聊踩过的坑
后端
倔强的石头_4 小时前
kingbase备份与恢复实战(七)—— 恢复演练与验收:从“能恢复”到“可交付预案”
数据库
满昕欢喜4 小时前
第2章 SQL Server 2019服务器管理
数据库·sqlserver
giaz14n9X4 小时前
Redis 分布式锁进阶第五十一篇
数据库·redis·分布式
念越4 小时前
【数据库系统概论期末复习】第四章 数据库安全性重点与常考题整理
数据库·数据库系统概论
好家伙VCC4 小时前
区块链双向支付通道实战:从签名到结算
java·后端·区块链·asp.net
拾贰_C5 小时前
【mysql | windows | installation】 MySQL5.安装
数据库·windows·mysql
睡不醒男孩0308235 小时前
达梦数据安装详细步骤(包含CLup一键部署达梦数据库实例)
数据库·达梦·clup
真实的菜5 小时前
【无标题】Redis 从入门到精通(七):缓存设计与最佳实践 —— 穿透、击穿、雪崩与一致性终极指南
数据库·redis·缓存