欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

说说在 Spring Boot 中如何配置数据源

程序员文章站 2024-01-01 15:21:28
假设我们需要使用 Oracle 数据库,那么首先需要在 pom.xml 中引用 Oracle 数据库驱动包: 12.2.0.1 ... com.oracle oj...

假设我们需要使用 Oracle 数据库,那么首先需要在 pom.xml 中引用 Oracle 数据库驱动包:

<properties>
       <oracle.version>12.2.0.1</oracle.version>
       ...
</properties>

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>${oracle.version}</version>
</dependency>

1 直接配置

在 application.yml 中配置数据源参数,形如:

spring:  
datasource:
    	url: jdbc:oracle:thin:@192.168.4.15:1599:orcl
    	username: deniro
    	password: 2020

可以不用显式指定驱动类名,因为Spring Boot 会自动根据数据库 URL 地址推算出来。当然也可以显式指定:
driver-class-name: oracle.jdbc.OracleDriver

如果在类路径中存在 Tomcat 的 JDBC 连接池,那么 Spring Boot 就会直接使用 Tomcat 的连接池。否则, Spring Boot 会在类路径下寻找以下连接池: HikariCP 或 Commons DBCP 2。

HikariCP是日本程序员开源的一个数据库连接池组件,据说代码非常轻量,并且速度也非常快。根据官方提供的数据,在i7,开启32个线程32个连接的情况下,进行随机数据库读写操作,HikariCP的速度是现在常用的C3P0数据库连接池的数百倍。在SpringBoot2.0中,官方也是推荐使用HikariCP。

2 通过 JNDI 配置

也可以通过JNDI来配置数据源。这种方式拥有以下优点:

  1. 工程包中可以不必包含与数据源相关的具体参数信息;
  2. 方便运维人员定期修改数据库密码;
  3. 替换连接池的工作交给容器处理。

(1)工程包配置 JNDI

修改工程包的 application.yml:

spring:
  datasource:
    jndi-name: XXX_DATASOURCE

(2)Tomcat 配置 JNDI

修改 Tomcat 的 conf/context.xml:

<Resource name="XXX_DATASOURCE" auth="Container" type="javax.sql.DataSource" factory="com.alibaba.druid.pool.DruidDataSourceFactory" username="deniro" password="2020" driverClassName="oracle.jdbc.OracleDriver" url=" jdbc:oracle:thin:@192.168.4.15:1599:orcl" filters="stat" connectionProperties="druid.stat.mergeSql=true;druid.stat.slowSqlMillis=2000" useGlobalDataSourceStat="true" defaultTransactionIsolation="READ_COMMITTED" validationQuery="select 1 from dual" removeAbandoned="false" logAbandoned="true" removeAbandonedTimeout="1800" maxActive="20" initialSize="5" maxWait="60000" minIdle="10" timeBetweenEvictionRunsMillis="60000" minEvictableIdleTimeMillis="300000" testWhileIdle="true" testOnBorrow="false" testOnReturn="false" asyncInit="true"/>

示例使用了 Druid 连接池。
注意:如果在 Tomcat 容器侧修改了默认连接池方案,那么就必须把相应的依赖包放入Tomcat 安装目录的 lib 文件夹中。

3 配置初始化脚本

初始化脚本分为两部分,一个是表结构初始化;另一个是数据初始化。它们分别配置在 schema 与 data 选项中。形如:

spring:
    # 数据源
  datasource:
    schema:
      - classpath:sql/model1-schema.sql
      - classpath:sql/model2-schema.sql
    data:
      - classpath:sql/model1.sql

在 yml 格式中,列表项使用的是 - 加上空格作为前缀。
这些脚本文件需要放置在 src/resources/sql 文件夹下。

说说在 Spring Boot 中如何配置数据源

Spring Boot 项目启动时,就会先运行这些脚本,执行初始化操作。

本文地址:https://blog.csdn.net/deniro_li/article/details/109004000

相关标签: spring

上一篇:

下一篇: