跳到主要内容

Spring Boot 3.x Data(一)-SQL数据源配置

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、SQL数据库
    • 配置数据源
    • 嵌入式数据库支持
  • DataSource配置
  • 支持的连接池
  • 连接到JNDI数据源
  • 自定义数据源配置
  • 总结

前言

Spring Boot集成了许多数据技术,包括SQLNoSQL

一、SQL数据库

Spring框架为使用SQL数据库提供了广泛的支持,从使用JdbcTemplate的直接JDBC访问到完成“对象关系映射”技术(如Hibernate)。
Spring Data提供了一个额外的功能:直接从接口创建Repository,并使用约定从方法名生成查询。

配置数据源

Java中javax.sql.DataSource接口提供了处理数据库连接的标准方法。“DataSource”使用URL和一些凭证来建立数据库连接。

嵌入式数据库支持

使用内存内嵌入式数据库开发应用程序通常很方便。显然,内存中的数据库不提供持久存储。您需要在应用程序启动时填充数据库,并准备在应用程序结束时丢弃数据。

Spring Boot可以自动配置嵌入式的H2、HSQL和Derby数据库。你不需要提供任何连接url。你只需要包含要使用的嵌入式数据库的构建依赖项。如果类路径上有多个嵌入式数据库,则设置spring.datasource.embedded-database-connection 配置属性,用于控制使用哪一个。将该属性设置为none将禁用嵌入式数据库的自动配置。

> 如果你在测试中使用此特性,你可能会注意到,无论你使用多少应用程序上下文,整个测试套件都会重用相同的数据库。
> 如果你想确保每个上下文都有一个单独的嵌入式数据库,你应该设置spring.datasource.generate-unique-nametrue

要自动配置嵌入式数据库,需要依赖spring-jdbc。例如,典型的POM依赖如下:

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>