17 Spring Boot与数据库集成之配置数据源

在上一篇中,我们介绍了Spring Data JPA,了解了如何简化Java应用中对数据库的操作。本篇将进一步探讨如何在Spring Boot应用中配置数据源,以便与数据库进行交互。

1. 数据源概述

在Spring Boot中,数据源是与数据库通信的核心部分。Spring Boot通过自动配置简化了数据源的设置。通过配置,我们可以选择不同的数据库(如MySQL、PostgreSQL、H2等),并设置必要的连接参数。

2. 添加依赖

首先,我们需要在项目中引入对应数据库的依赖。以MySQL为例,我们可以在pom.xml(对于Maven项目)中添加以下依赖:

1
2
3
4
5
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version> <!-- 请使用最新的版本 -->
</dependency>

对于Gradle项目,可以在build.gradle中添加:

1
implementation 'mysql:mysql-connector-java:8.0.27' // 请使用最新的版本

3. 配置数据源

Spring Boot的默认配置文件为application.propertiesapplication.yml。在这里,我们将进行数据源的配置。

3.1. 使用application.properties

如果你选择使用application.properties文件,可以按照以下方式配置:

1
2
3
4
5
6
7
8
9
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# JPA配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

3.2. 使用application.yml

如果你更喜欢使用YAML格式,可以按照以下方式配置:

1
2
3
4
5
6
7
8
9
10
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true

4. 数据库连接参数解析

  • spring.datasource.url: 数据库的连接URL。在这里,我们使用的是MySQL的连接格式。
  • spring.datasource.username: 数据库的用户名。
  • spring.datasource.password: 数据库的密码。
  • spring.datasource.driver-class-name: 数据库的驱动类名。
  • spring.jpa.hibernate.ddl-auto: Hibernate的DDL模式。在此处使用update可以自动更新数据库表结构。
  • spring.jpa.show-sql: 是否显示SQL语句,便于调试和了解实际执行的SQL。

5. 测试数据源配置

配置完成后,我们可以编写一个简单的测试代码来验证数据源是否配置成功。首先,创建一个简单的实体类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;

// Getters and Setters
}

然后,创建一个简单的Repository接口:

1
2
3
4
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

接着,在主应用程序中添加一个数据加载的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application implements CommandLineRunner {

@Autowired
private UserRepository userRepository;

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

@Override
public void run(String... args) throws Exception {
User user = new User();
user.setName("John Doe");
userRepository.save(user);

System.out.println("User saved: " + user.getId());
}
}

运行该应用,如果没有错误并输出User saved: ...,则表示数据源配置成功。

6. 总结

在本篇中,我们详细讲解了如何配置Spring Boot与MySQL数据库的连接数据源,并测试了配置的有效性。接下来,您可以继续阅读Spring Boot与数据库集成之数据库操作示例,了解如何使用Spring Data JPA进行详细的数据库操作。

通过以上步骤,您已经为使用数据库操作打下了基础,欢迎继续探索更多的Spring Boot特性!

17 Spring Boot与数据库集成之配置数据源

https://zglg.work/spring-boot-zero/17/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论