如何在 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.properties 或 application.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 进行数据操作。如果有任何问题或需要进一步的帮助,可以在下方评论区留言哟!

相关推荐
小码哥_常2 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
Decay__2 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
学长毕设5 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
zzu123zsw6 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
小徐不徐说7 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
源码集结号7 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
努力的小雨7 小时前
给 AI 眼镜开发应用有多难?我从零做了一个陪练,还上架了
后端
论文复现现场7 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
Decay__8 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
excel8 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端