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

相关推荐
不会就选b20 小时前
MySQL之视图
数据库·mysql
copyer_xyf21 小时前
Python 异常处理
前端·后端·python
>no problem<21 小时前
基于cola5.0的基础设施层的多数据库切换方案思路
数据库·spring boot·mybatisplus·cola5.0·数据库迁移适配
OceanBase数据库官方博客21 小时前
OceanBase 赋能央国企:从发电到用电的全链路业务承载
数据库·oceanbase
llz_1121 天前
web-第三次课后作业
前端·后端·web
心之伊始1 天前
Java 后端接入大模型:从 Token、并发到推理成本的完整估算方法
java·spring boot·性能优化·大模型·llm
瀚高PG实验室1 天前
pgsql-ogr-fdw
数据库·postgresql·瀚高数据库·highgo
IvorySQL1 天前
PostgreSQL 技术日报 (6月5日)|PG19 Beta1 上线,PGConf.PL 2026开启征稿
数据库·postgresql·区块链
abcy0712131 天前
pycharm python sqlalchemy mysql增删改查实例csdn
数据库·oracle
无风听海1 天前
IndexedDB 深度指南 浏览器中的事务型对象数据库
前端·数据库