配置HikariCP的必需配置

对于数据源必须要配置的内容只有链接信息,其他内容都是非必须内容

连接信息包括

  1. 数据库驱动或者JDBC URL
  2. 用户名
  3. 密码

数据库驱动

因为现在大多数的JdbcUrl配置中已经指明需要连接的数据库类型,所以一般不需要额外再去设置,这里列出来各个数据库的驱动

数据库 驱动 JDBC URL
Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@dbip:port:
SQL Server com.microsoft.jdbc.sqlserver.SQLServerDriver jdbc:microsoft:sqlserver://dbip:port;DatabaseName=
MySQL com.mysql.jdbc.Driver jdbc:mysql://dbip:port/
达梦 dm.jdbc.driver.DmDriver jdbc:dm://dbip:port/
DB2 com.ibm.db2.jdbc.app.DB2Driver jdbc:db2://dbip:port/
Sybase com.sybase.jdbc2.jdbc.SybDriver jdbc:sybase:Tds::?ServiceName=
PostgreSQL org.postgresql.Driver jdbc:postgresql://dbip:port//
h2(内存数据库) org.h2.Driver jdbc:h2:mem:

配置数据源的格式

通常配置数据源信息我们可以使用下面四种格式

Config配置类

    public DataSource getDataSource() {HikariConfig hikariConfig = new HikariConfig();hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/test?charactorEncoding=utf-8&useSSL=false");hikariConfig.setUsername("root");hikariConfig.setPassword("123456");hikariConfig.setDriverClassName("");HikariDataSource dataSource = new HikariDataSource(hikariConfig);return dataSource;}

这种方式可以通过下面的方式添加数据库不同的配置进来

hikariConfig.addDataSourceProperty("ssl","true");

但是这种方式存在一个问题就是DataSource中的映射需要确认,很多时候设置的参数和实际映射并不是完全一样。

直接实例化数据源

    public DataSource getDataSource2() {HikariDataSource dataSource = new HikariDataSource();dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?charactorEncoding=utf-8&useSSL=false");dataSource.setUsername("root");dataSource.setDriverClassName("");dataSource.setPassword("123456");return dataSource;}

setRegisterMbeans

这里需要提一下这个方法,使用直接实例DataSource方法一个好处配置参数在获取连接的时候进行赋值的,这样用户可以修改数据库连接池的参数。但是需要注意如果使用HikariConfig来初始化数据源,则需要在HikariConfig设置setRegisterMbeans。

使用yaml配置

  spring:datasource:hikari:jdbc-url: jdbc:mysql://localhost:3306/daifyusername: rootpassword: 123456

使用Properties配置

    public DataSource getDataSource3() {Properties properties = new Properties();properties.setProperty("datasource.jdbc-url","jdbc:mysql://localhost:3306/test?charactorEncoding=utf-8&useSSL=false");properties.setProperty("dataSource.username","root");properties.setProperty("dataSource.password","123456");properties.setProperty("dataSourceClassName","123456");HikariConfig hikariConfig = new HikariConfig(properties);HikariDataSource dataSource = new HikariDataSource(hikariConfig);return dataSource;}

配置HikariCP的非必需配置

autoCommit

参数作用:控制从池返回的连接的默认自动提交行为

默认值:true


connectionTimeout

参数作用:控制客户端等待池中连接的最长毫秒数。

默认值:默认 30000(30s),最低设置值250


idleTimeout

参数作用:连接允许被闲置在池中的最大时间

默认值:默认600000(10分钟),最小值为10000毫秒(10秒)


maxLifetime

参数作用:控制池中连接的最大生命周期

默认值:默认值为1800000(30分钟),值0表示没有最大生存期


connectionTestQuery

参数作用:在数据库连接池给出连接之前进行查询,以验证与数据库的连接是否仍然存在且有效。

默认值:空


minimumldle

参数作用:属性控制 HikariCP 尝试在池中维护的最小空闲连接数

默认值:果minimumldle未设置则默认为是maximumPoolSize


maximumPoolSize

参数作用:控制数据库连接池连接数允许到达的最大值,包括空闲和正在使用的连接

默认值:10


metricRegistry

参数作用:允许用户指定池使用的Codahale/Dropwizard实例MetricRegistry,来记录各种度量标准。

默认值:无


healthCheckRegistry

参数作用:允许用户指定池使用的Codahale/Dropwizard实例HealthCheckRegistry,来报告当前系统的健康信息。

默认值:无


poolName

参数作用:该属性表示连接池的用户定义名称,主要显示在日志记录和JMX管理控制台中,以标识池和池配置。

默认值:自动生成


initializationFailTimeout

参数作用:控制池在初始化失败的时候是否“快速失败”,该值为尝试获取初始连接的毫秒数。

默认值:1,小于0的值将绕过任何初始连接尝试,并且池将尝试在后台获取连接时立即启动。


isolateinternalQueries

参数作用:控制否在自己的事务中隔离内部池查询

默认值:false


allowPoolSuspension

参数作用:此属性控制池是否可以通过JMX挂起和恢复

默认值:false


readOnly

参数作用:控制从池中获取的Connections是否处于只读模式

默认值:false


registerMbeans

参数作用:是否注册JMX以管理Bean

默认值:false


catalog

参数作用:为支持catalog的数据库设置默认catalog

默认值:使用JDBC驱动程序定义的值


connectionlnitSqI

参数作用:该语句将在每次创建新连接之后执行,然后再将该连接添加到池中。

默认值:无


transactionlsolation

参数作用:控制从池返回的连接的默认事务隔离级别

默认值:使用JDBC驱动程序定义的值,值是Connection类的常量名

public interface Connection  extends Wrapper, AutoCloseable {int TRANSACTION_NONE             = 0;int TRANSACTION_READ_UNCOMMITTED = 1;int TRANSACTION_READ_COMMITTED   = 2;int TRANSACTION_REPEATABLE_READ  = 4;int TRANSACTION_SERIALIZABLE     = 8;}

validationTimeout

参数作用:控制连接测试存活的最长时间

默认值:5000(5秒),最低可设置时间250


leakDetectionThreshold

参数作用:在记录一条指示可能连接泄露的消息之前流出池的时间。值为0表示禁用泄露检测

默认值:0,最低可接受值是2000毫秒(2秒)


dataSource

参数作用:允许用户直接设置DataSource要由池包装的实例,而不是让HikariCP通过反射构造该实例

默认值:无


schema

参数作用:该属性为支持schema概念数据库设置默认schema

默认值:使用JDBC驱动程序定义的值


threadFactory

参数作用:通过配置该属性自定义设置java.util.concurrent.ThreadFactory的实例,可创建池使用的所有线程的实例

默认值:无


scheduledExecutor

参数作用:该属性自定义设置java.util.concurrent.Scheduled-ExecutorService的实例,可实例化各种内部调度任务

默认值:无

【HikariCP】HikariCP配置参数相关推荐

  1. HikariCP数据库连接配置详解

    一.必须配置 HikariCP的必需配置主要有3个,一般来说配置了这3个以后,其他默认设置在大多数系统中都表现良好且无须额外调整.这 3 个必需配置如下: dataSourceClassName或者j ...

  2. VS Code 安装插件、自定义模板、自定义配置参数、自定义主题、配置参数说明、常用的扩展插件

    1. 下载和官网教程 下载地址:https://code.visualstudio.com/ 官方教程:https://code.visualstudio.com/docs 2. 安装插件 安装扩展插 ...

  3. chrome java插件_selenium启动Chrome配置参数问题

    每次当selenium启动chrome浏览器的时候,chrome浏览器很干净,没有插件.没有收藏.没有历史记录,这是因为selenium在启动chrome时为了保证最快的运行效率,启动了一个裸浏览器, ...

  4. ActiveMQ5.14.5配置参数详解

    Activemq-.xml 1.加载properties配置参数.下面加载是访问broker的身份信息,即用户名和密码 <bean class="org.springframework ...

  5. 2019年最受欢迎的JVM配置参数是怎样的?

    以下是 JVM 常见十大配置参数: 1.-Xms:初始堆大小.只要启动,就占用的堆大小. 2.-Xmx:最大堆大小.java.lang.OutOfMemoryError:Java heap这个错误可以 ...

  6. Ehcache配置参数详解

    ehcache配置参数详解 <?xml version="1.0" encoding="UTF-8"?><ehcache><dis ...

  7. mysql 参数sql文件_为MySQL的source命令导入SQL文件配置参数

    为MySQL的source命令导入SQL文件配置参数 执行 mysql -uroot -p 输入密码后进入 MySQL 命令提示符 set charset utf8; source /root/xxx ...

  8. Android.mk 配置参数

    Android.mk 的可配置参数会比较多,但是常用的可能很少.在进行多项目 ndk 共享的时候,如果对各个参数比较了解,对项目的结构优化有不小的好处. 0x00 LOCAL_PATH 根据 Andr ...

  9. Mysql一些重要配置参数的学习与整理(一)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Mysql一些重要配置参数的学习与整理(一) 最近一直在进行mysql的学习,主要是学习mysql的一些配置参数,了 ...

  10. nginx配置参数详解

    PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇 ...

最新文章

  1. C++ 随机数生成的2种方法--生成指定范围内的随机数
  2. (第五篇)Linux操作系统基本结构介绍
  3. 《Solution-Centric Organization》解决方案导向型组织 节选 III
  4. C++输入函数的应用
  5. 公众号一年能有多少收入?
  6. 随机名字生成小demo源码
  7. What code you will get when you create a wcf library
  8. php 显示ip所属地 (qq版)
  9. 在 GitHub 上收获 6519 颗 Star 的 Python 面试题资源,到底有多牛?
  10. .net微信公众号开发——群发消息
  11. Java url链接生成二维码
  12. Reading Comprehension必读paper汇总
  13. 市场分析-全球与中国木槿果实提取物市场现状及未来发展趋势
  14. opencv学习笔记五:cv2.warpAffine()函数详解
  15. mysql unknown option_在cmd下输入mysql: [ERROR] unknown option '-- '.是什么意思啊,求解
  16. cubeIDE开发, stm32独立看门狗IWDG的CubeMX配置及HAL库底层实现分析
  17. Java开发之——Date时间差
  18. HDMI各版本的区别
  19. 如何下载通州区卫星地图高清版大图
  20. using-aws-s3-buckets-cloudfront-distribution-with-craft-cms

热门文章

  1. 实用金属材料手册_各种金属材料单位重量计算公式(汇总版)
  2. 别老盯着5G,这些物联网应用用4G LTE技术足够了
  3. 【读书笔记】《人性的弱点》——卡耐基
  4. 查岗神器!如何查看连接过的WiFi记录+详细信息+密码找回
  5. 儿童电子产品的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  6. 查看本地MSN帐号和密码
  7. java百度贴吧一键签到,手机百度贴吧怎么一键签到?手机贴吧一键签到怎么用?
  8. 【原】豆瓣电台桌面版——Win7任务栏支持+托盘+快捷键+历史记录
  9. AI助力教学升级,掌门优课智能互动双师课程获用户认可
  10. Windows 7声卡驱动一键修复精灵3.0完美版(2009年11月9日发布)