Spring Boot 中使用 Hikari,给我整不会了

本文介绍了HikariCP连接池的多种初始化方式,包括直接设置属性、配置文件和环境变量,以及Springboot项目的常见配置参数,如自动提交、连接超时和空闲连接管理。作者还分享了Java开发的学习资源和面试技巧,旨在帮助工程师提升技能和应对面试挑战。
摘要由CSDN通过智能技术生成

2 初始化

如果不是看官网,我不曾知道原来有这么多的初始化方式,我要一一的列举出来,扩展大家的思路。

HikariConfig config = new HikariConfig();

config.setJdbcUrl(“jdbc:mysql://localhost:3306/simpsons”);

config.setUsername(“bart”);

config.setPassword(“51mp50n”);

config.addDataSourceProperty(“cachePrepStmts”, “true”);

config.addDataSourceProperty(“prepStmtCacheSize”, “250”);

config.addDataSourceProperty(“prepStmtCacheSqlLimit”, “2048”);

HikariDataSource ds = new HikariDataSource(config);

或者直接这样

HikariDataSource ds = new HikariDataSource();

ds.setJdbcUrl(“jdbc:mysql://localhost:3306/simpsons”);

ds.setUsername(“bart”);

ds.setPassword(“51mp50n”);

或者基于配置文件的初始化

HikariConfig config = new HikariConfig(“/some/path/hikari.properties”);

HikariDataSource ds = new HikariDataSource(config);

// properties file

dataSourceClassName=org.postgresql.ds.PGSimpleDataSource

dataSource.user=test

dataSource.password=test

dataSource.databaseName=mydb

dataSource.portNumber=5432

dataSource.serverName=localhost

或者直接使用 Properties 类

Properties props = new Properties();

props.setProperty(“dataSourceClassName”, “org.postgresql.ds.PGSimpleDataSource”);

props.setProperty(“dataSource.user”, “test”);

props.setProperty(“dataSource.password”, “test”);

props.setProperty(“dataSource.databaseName”, “mydb”);

props.put(“dataSource.logWriter”, new PrintWriter(System.out));

HikariConfig config = new HikariConfig(props);

HikariDataSource ds = new HikariDataSource(config);

甚至还可以配置环境变量

There is also a System property available, hikaricp.configurationFile,

看到以上这些初始化的方法,直呼过瘾。

项目配置中的常用参数讲解

以为搭建的 Spring boot 项目为例,看看我的配置吧。

根据 less is more 的设计哲学,以 Hikari 开头的配置都是可选的配置,都有默认的值,不配也行哈。

autoCommit: 默认是 true,自动提交从池中返回的连接。

connectionTimeout:等待来自池的连接的最大毫秒数,默认为 30000 ms = 30 s,允许最小时间是 250 毫秒,如果小于 250 毫秒,则被重置回 30 秒。

idleTimeout: 连接允许在池中闲置的最长时间,默认为 600000,即 10 分钟。如果 idleTimeout + 1 秒 > maxLifetime 且 maxLifetime > 0,则会被重置为 0(代表永远不会退出);如果 idleTimeout != 0 且小于 10 秒,则会被重置为 10 秒。只有当 minimumIdle 小于 maximumPoolSize 时,这个参数才生效,当空闲连接数超过 minimumIdle,而且空闲时间超过 idleTimeout,则会被移除。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!




《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
]
[外链图片转存中…(img-zAz2zahU-1711814314168)]
[外链图片转存中…(img-ccUX8LPu-1711814314169)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 14
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值