spring.datasource

DataSource配置: 根据springboot2.4.4官方文档整理

#Name of the datasource. Default to "testdb" when using an embedded database.
#给数据源取名, 默认 testdb
spring.datasource.name: 

#Whether to generate a random datasource name.
#是否给数据源生成一个随机名称 , 默认 true
spring.datasource.generate-unique-name: true

#Fully qualified name of the connection pool implementation to use. By default, it is auto-detected from the classpath.
# Hikari : com.zaxxer.hikari.HikariDataSource
# 阿里Druid : com.alibaba.druid.pool.DruidDataSource
# Tomcat : org.apache.tomcat.jdbc.pool.DataSource
# Dbcp2 : org.apache.commons.dbcp2.BasicDataSource
spring.datasource.type:

#Fully qualified name of the JDBC driver. Auto-detected based on the URL by default.
#指定driver的类名,默认从jdbc url中自动探测.
#Mysql8 : com.mysql.cj.jdbc.Driver
#Mysql5.7 : com.mysql.jdbc.Driver
#微软SqlServer : com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.driver-class-name: 指定driver的类名,默认从jdbc url中自动探测.

#JDBC URL of the database.
spring.datasource.url:

#Login username of the database.
#数据库的登录用户名
spring.datasource.username:

#Login password of the database.
#数据库的登录密码
spring.datasource.password: 

#SQL scripts encoding.
#默认无
spring.datasource.sql-script-encoding:

#Statement separator in SQL initialization scripts. default is ;
#statement语句的分隔符 , 默认是分号 ;
spring.datasource.separator:

#Platform to use in the DDL or DML scripts (such as schema-${platform}.sql or data-${platform}.sql).   default is all
#默认值是 all
spring.datasource.platform:




#Schema (DDL) script resource references.
spring.datasource.schema:

#Username of the database to execute DDL scripts (if different).
spring.datasource.schema-username:

#Password of the database to execute DDL scripts (if different).
spring.datasource.schema-password:



#原文:Whether to enable the PersistenceExceptionTranslationPostProcessor.
#是否启用PersistenceExceptionTranslationPostProcessor,默认为true
#PersistenceExceptionTranslationPostProcessor是一个BeanPostProcessor
#这个东西是spring做事务的,会自动给@Repository做代理 默认为true 不用管它
spring.dao.exceptiontranslation.enabled: 


#原文: Whether to stop if an error occurs while initializing the database.
#初始化数据库时是否在发生错误时停止,默认false
spring.datasource.continue-on-error: 
 
#原文:Data (DML) script resource references.
#指定Data (DML)脚本
spring.datasource.data: 

#原文:Username of the database to execute DML scripts (if different).
spring.datasource.data-username:

#原文:Password of the database to execute DML scripts (if different).
spring.datasource.data-password:
 

#原文:JNDI location of the datasource. Class, url, username and password are ignored when set.
spring.datasource.jndi-name:


spring.datasource.hikari


# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isAllowPoolSuspension;
#该属性控制池是否可以通过JMX暂停和恢复。这对于某些故障转移自动化方案很有用。当池被暂停时,呼叫 getConnection()将不会超时,并将一直保持到池恢复为止。 默认值:false
# true可以使 ((HikariDataSource)dataSource).suspendPool(); 不抛异常
spring.datasource.hikari.allow-pool-suspension

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isAutoCommit;
# 此属性控制从池返回的连接的默认自动提交行为。它是一个布尔值。 默认值:true
spring.datasource.hikari.auto-commit

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile String catalog;
# 该属性设置默认目录为支持目录的概念数据库。如果未指定此属性,则使用由JDBC驱动程序定义的默认目录。 默认为empty:驱动程序默认
spring.datasource.hikari.catalog

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private String connectionInitSql;
# 该属性设置一个SQL语句,在将每个新连接创建后,将其添加到池中之前执行该语句。如果这个SQL无效或引发异常,它将被视为连接失败并且将遵循标准重试逻辑。 默认值:无
spring.datasource.hikari.connection-init-sql

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String connectionTestQuery;
# 设置要执行的SQL查询以测试连接的有效性。 在某些数据库上,使用JDBC4 Connection.isValid()方法测试连接有效性可能更有效,因此建议使用。 
# 如果您的驱动程序支持JDBC4,我们强烈建议您不要设置此属性。这是针对不支持JDBC4的“传统”驱动程序Connection.isValid() API。这是在连接从池中获得连接以确认与数据库的连接仍然存在之前将要执行的查询。再一次,尝试运行没有此属性的池,如果您的驱动程序不符合JDBC4的要求,HikariCP将记录一个错误以告知您。 默认值:无
spring.datasource.hikari.connection-test-query

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long connectionTimeout;
# 此属性控制客户端(即您)将等待来自池的连接的最大毫秒数。如果在没有可用连接的情况下超过此时间,则会抛出SQLException。最低可接受的连接超时时间为250 ms。 默认值:30000(30秒)
spring.datasource.hikari.connection-timeout

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String dataSourceClassName;
# 这是DataSourceJDBC驱动程序提供的类的名称。请查阅您的特定JDBC驱动程序的文档以获取此类名称,或参阅下表。注XA数据源不受支持。XA需要像bitronix这样的真正的事务管理器 。请注意,如果您正在使用jdbcUrl“旧式”基于DriverManager的JDBC驱动程序配置,则不需要此属性 。 默认值:无
spring.datasource.hikari.data-source-class-name

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private String dataSourceJndiName; 
spring.datasource.hikari.data-source-j-n-d-i

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private Properties dataSourceProperties;
spring.datasource.hikari.data-source-properties

# HikariCP将尝试通过DriverManager仅基于驱动程序来解析驱动程序jdbcUrl,但对于一些较旧的驱动程序,driverClassName还必须指定它。除非您收到明显的错误消息,指出找不到驱动程序,否则请忽略此属性。 默认值:无
spring.datasource.hikari.driver-class-name

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private String exceptionOverrideClassName;
spring.datasource.hikari.exception-override-class-name

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private Properties healthCheckProperties;
spring.datasource.hikari.health-check-properties

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private Object healthCheckRegistry;
spring.datasource.hikari.health-check-registry

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long idleTimeout;
# 此属性控制允许连接在池中闲置的最长时间。 此设置仅适用于minimumIdle定义为小于maximumPoolSize。一旦池达到连接,空闲连接将不会退出minimumIdle。连接是否因闲置而退出,最大变化量为+30秒,平均变化量为+15秒。在超时之前,连接永远不会退出。值为0意味着空闲连接永远不会从池中删除。允许的最小值是10000ms(10秒)。 默认值:600000(10分钟)
spring.datasource.hikari.idle-timeout

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private long initializationFailTimeout;
# 如果池无法成功初始化连接,则此属性控制池是否将“快速失败”。任何正数都取为尝试获取初始连接的毫秒数; 应用程序线程将在此期间被阻止。如果在超时发生之前无法获取连接,则会引发异常。此超时被应用后的connectionTimeout 期。如果值为零(0),HikariCP将尝试获取并验证连接。如果获得连接但未通过验证,将抛出异常并且池未启动。但是,如果无法获得连接,则会启动该池,但后续获取连接的操作可能会失败。小于零的值将绕过任何初始连接尝试,并且在尝试获取后台连接时,池将立即启动。因此,以后努力获得连接可能会失败。 默认值:1
spring.datasource.hikari.initialization-fail-timeout

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private boolean isIsolateInternalQueries;
# 此属性确定HikariCP是否在其自己的事务中隔离内部池查询,例如连接活动测试。由于这些通常是只读查询,因此很少有必要将它们封装在自己的事务中。该属性仅适用于autoCommit禁用的情况。 默认值:false
spring.datasource.hikari.isolate-internal-queries

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String jdbcUrl;
# 该属性指示HikariCP使用“基于DriverManager的”配置。我们认为基于DataSource的配置由于各种原因是优越的,但对于许多部署来说,几乎没有显着差异。 在“旧”驱动程序中使用此属性时,您可能还需要设置该 driverClassName属性,但不要先尝试。 请注意,如果使用此属性,您仍然可以使用DataSource属性来配置您的驱动程序,实际上建议您使用URL本身中指定的驱动程序参数。 默认值:无
spring.datasource.hikari.jdbc-url

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long leakDetectionThreshold;
# 此属性控制在记录消息之前连接可能离开池的时间量,表明可能存在连接泄漏。值为0意味着泄漏检测被禁用。启用泄漏检测的最低可接受值为2000(2秒)。 默认值:0
spring.datasource.hikari.leak-detection-threshold

# javax.sql.DataSource 接口标准有 void setLoginTimeout(int seconds) throws SQLException;
# 设置登录超时 , 这是datasource的标准方法
spring.datasource.hikari.login-timeout

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long maxLifetime;
# 此属性控制池中连接的最大生存期。正在使用的连接永远不会退休,只有在关闭后才会被删除。在逐个连接的基础上,应用较小的负面衰减来避免池中的大量消失。 我们强烈建议设置此值,并且应该比任何数据库或基础设施规定的连接时间限制短几秒。 值为0表示没有最大寿命(无限寿命),当然是idleTimeout设定的主题。 默认值:1800000(30分钟)
spring.datasource.hikari.max-lifetime

# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile int maxPoolSize;
# 此属性控制池中连接的最大生存期。正在使用的连接永远不会退休,只有在关闭后才会被删除。在逐个连接的基础上,应用较小的负面衰减来避免池中的大量消失。 我们强烈建议设置此值,并且应该比任何数据库或基础设施规定的连接时间限制短几秒。 值为0表示没有最大寿命(无限寿命),当然是idleTimeout设定的主题。 默认值:1800000(30分钟)
spring.datasource.hikari.maximum-pool-size

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private Object metricRegistry;
# 该属性仅通过编程配置或IoC容器可用。该属性允许您指定池使用的Codahale / Dropwizard 实例MetricRegistry来记录各种指标。有关 详细信息,请参阅Metrics维基页面。 默认值:无
spring.datasource.hikari.metric-registry

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private MetricsTrackerFactory metricsTrackerFactory;
# 指定 MetricsTrackerFactory  的实现类
spring.datasource.hikari.metrics-tracker-factory

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private volatile int minIdle;
# minIdle初始值-1 , 后来if (minIdle < 0 || minIdle > maxPoolSize) {     minIdle = maxPoolSize;      } , 设为了maxPoolSize
# 该属性控制HikariCP尝试在池中维护的最小空闲连接数。如果空闲连接低于此值并且连接池中的总连接数少于此值maximumPoolSize,则HikariCP将尽最大努力快速高效地添加其他连接。但是,为了获得最佳性能和响应尖峰需求,我们建议不要设置此值,而是允许HikariCP充当固定大小的连接池。 默认值:与maximumPoolSize相同
spring.datasource.hikari.minimum-idle

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private volatile String password;
# 此属性设置从基础驱动程序获取连接时使用的默认身份验证密码。请注意,对于DataSources,这通过调用DataSource.getConnection(username, password)基础DataSource 以非常确定的方式工作。但是,对于基于驱动程序的配置,每个驱动程序都不同。在基于驱动程序的情况下,HikariCP将使用此password属性来设置传递给驱动程序调用的password属性。如果这不是你所需要的,例如完全跳过这个方法并且调用。 默认值:无 PropertiesDriverManager.getConnection(jdbcUrl, props)addDataSourceProperty(“pass”, …)
# 配置密码
spring.datasource.hikari.password

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private String poolName;
# 此属性表示连接池的用户定义名称,主要出现在日志记录和JMX管理控制台中以识别池和池配置。 默认:自动生成
spring.datasource.hikari.pool-name

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private boolean isReadOnly;
# 此属性控制默认情况下从池中获取的连接是否处于只读模式。注意某些数据库不支持只读模式的概念,而其他数据库则在Connection设置为只读时提供查询优化。无论您是否需要此属性,都将主要取决于您的应用程序和数据库。 默认值:false
spring.datasource.hikari.read-only

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private boolean isRegisterMbeans;
# 该属性控制是否注册JMX管理Bean(“MBeans”)。 默认值:false
spring.datasource.hikari.register-mbeans

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private ScheduledExecutorService scheduledExecutor;
# 指定 java.util.concurrent.ScheduledExecutorService 接口的实现类, 执行定时任务
spring.datasource.hikari.scheduled-executor

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private String schema;
# 该属性设置的默认模式为支持模式的概念数据库。如果未指定此属性,则使用由JDBC驱动程序定义的默认模式。 默认:驱动程序默认
spring.datasource.hikari.schema

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private String transactionIsolationName;
# 此属性控制从池返回的连接的默认事务隔离级别。如果未指定此属性,则使用由JDBC驱动程序定义的默认事务隔离级别。如果您有针对所有查询通用的特定隔离要求,请仅使用此属性。此属性的值是从不断的名称Connection 类,如TRANSACTION_READ_COMMITTED,TRANSACTION_REPEATABLE_READ等 默认值:驱动程序默认
spring.datasource.hikari.transaction-isolation

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private volatile String username;
# 此属性设置从基础驱动程序获取连接时使用的默认身份验证用户名。请注意,对于DataSources,这通过调用DataSource.getConnection(username, password)基础DataSource 以非常确定的方式工作。但是,对于基于驱动程序的配置,每个驱动程序都不同。在基于驱动程序的情况下,HikariCP将使用此username属性来设置传递给驱动程序调用的user属性。如果这不是你所需要的,例如完全跳过这个方法并且调用。 默认值:无PropertiesDriverManager.getConnection(jdbcUrl, props)addDataSourceProperty(“username”, …)
# 数据库用户名
spring.datasource.hikari.username

# 用于设置 : com.zaxxer.hikari.HikariConfig 的  private volatile long validationTimeout;
# 此属性控制连接测试活动的最长时间。这个值必须小于connectionTimeout。最低可接受的验证超时时间为250 ms。 默认值:5000
spring.datasource.hikari.validation-timeout

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐