Hikaricp简单使用

本文介绍如何在Spring框架中快速配置并使用HikariCP数据库连接池,包括XML配置示例及properties文件设置,实现高效数据库连接管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017/09/18
Hikaricp简单使用

Hikaricp 替换现有的数据库连接池也是很方便的 没有时间去测试 现贴出简单的配置
如果使用spring,只需要简单的替换
<bean id="hikariDataSource"
          class="com.zaxxer.hikari.HikariDataSource" destroy-method="shutdown">
        <constructor-arg>
            <bean class="com.zaxxer.hikari.HikariConfig">
                <property name="driverClassName" value="${hikaricp.jdbc.driverClassName}"/>
                <property name="jdbcUrl" value="${hikaricp.url}"/>
                <property name="username" value="${hikaricp.username}"/>
                <property name="password" value="${hikaricp.password}"/>
                <property name="connectionTestQuery" value="${hikaricp.connectionTestQuery}"/>
                <property name="connectionTimeout" value="${hikaricp.connectionTimeout}"/>
                <property name="idleTimeout" value="${hikaricp.idleTimeout}"/>
                <property name="maxLifetime" value="${hikaricp.maxLifetime}"/>
                <property name="maximumPoolSize" value="${hikaricp.maximumPoolSize}"/>
                <property name="minimumIdle" value="${hikaricp.minimumIdle}"/>
            </bean>
        </constructor-arg>
    </bean>

引入的properties文件:
#HikariDataSource config
hikaricp.jdbc.driverClassName=com.mysql.jdbc.Driver
hikaricp.url= jdbc:mysql://127.0.0.1:3306/dcserver38?useUnicode=true&amp;characterEncoding=UTF-8
hikaricp.quratz_jdbc.url=jdbc:mysql://127.0.0.1:3306/quartz?useUnicode=true&amp;characterEncoding=UTF-8
hikaricp.username=root
hikaricp.password=123456
hikaricp.connectionTestQuery= SELECT 1
hikaricp.connectionTimeout =    30000
#This property controls the maximum amount of time (in milliseconds)\
#   that a connection is allowed to sit idle in the pool. Whether a connection is retired \
#  as idle or not is subject to a maximum variation of +30 seconds, and average variation of +15 seconds.\
#   A connection will never be retired as idle before this timeout. A value of 0 means that idle connections \
#  are never removed from the pool. Default: 600000 (10 minutes)
hikaricp.idleTimeout =  600000
#This property controls the maximum lifetime of a connection in the pool. When a connection reaches this timeout, \
#  even if recently used, it will be retired from the pool. An in-use connection will never be retired, \
#  only when it is idle will it be removed. We strongly recommend setting this value, and using something \
#  reasonable like 30 minutes or 1 hour. A value of 0 indicates no maximum lifetime (infinite lifetime), s\
#  ubject of course to the idleTimeout setting. Default: 1800000 (30 minutes)
hikaricp.maxLifetime =  1800000
#池连接数量
hikaricp.maximumPoolSize  =100
hikaricp.minimumIdle =100
 

### HikariCP 使用教程 #### 配置方式概述 HikariCP 支持多种配置方法,既可以直接在代码中通过 `HikariConfig` 对象进行编程式配置,也可以利用外部属性文件简化部署过程[^3]。 #### 编程式配置实例 对于希望完全掌控连接池参数的应用场景而言,可以采用如下所示的方式,在 Java 代码内部完成所有必要的设定: ```java import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; public class DatabaseConnection { public static void main(String[] args) throws Exception { HikariConfig config = new HikariConfig(); config.setJdbcUrl("jdbc:mysql://localhost:3306/test"); config.setUsername("root"); config.setPassword("password"); // 设置最小空闲连接数 config.setMinimumIdle(5); // 设置最大活动连接数量 config.setMaximumPoolSize(10); try (HikariDataSource dataSource = new HikariDataSource(config)) { // 数据库操作逻辑... } } } ``` #### 外部化配置实践 当项目规模较大或需要频繁调整数据库连接参数时,则推荐使用外部化的 `.properties` 文件来进行管理。这种方式不仅便于维护,而且能够轻松实现不同环境间的切换。 ```properties # path/to/config.properties spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.hikari.minimum-idle=5 spring.datasource.hikari.maximum-pool-size=10 ``` 接着只需简单几行代码即可加载上述配置并初始化数据源对象: ```java Properties props = new Properties(); props.load(new FileInputStream("path/to/config.properties")); HikariConfig config = new HikariConfig(props); HikariDataSource ds = new HikariDataSource(config); ``` 另外一种更为简便的方法是直接指定系统属性来指向配置文件的位置,从而省去了手动读取文件的操作步骤: ```java System.setProperty("hikaricp.configurationFile", "path/to/config.properties"); HikariConfig config = new HikariConfig(); HikariDataSource ds = new HikariDataSource(config); ``` #### Spring Boot集成指南 鉴于现代Java应用开发往往基于Spring框架之上,而Spring Boot更是集成了众多开箱即用的功能模块,其中包括对HikariCP的支持。这意味着如果正在构建的是一个Spring Boot应用程序的话,默认情况下就已经包含了所需的全部依赖项,并且可以通过简单的application.yml或者application.properties文件来自定义各项参数设置[^4]。 例如,在`application.properties`中添加以下内容就可以满足大多数基本需求: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.hikari.minimum-idle=5 spring.datasource.hikari.maximum-pool-size=10 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值