Hikari 数据库连接池配置

<!-- Hikari Datasource -->
    <bean id="dataSourceHikari" class="com.zaxxer.hikari.HikariDataSource"
        destroy-method="shutdown">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <!-- 连接只读数据库时配置为true, 保证安全 -->
        <property name="readOnly" value="false" />
        <!-- 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30-->
        <property name="connectionTimeout" value="30000" />
        <!-- 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟 -->
        <property name="idleTimeout" value="600000" />
        <!-- 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒,参考MySQL 
            wait_timeout参数(show variables like '%timeout%';-->
        <property name="maxLifetime" value="1800000" />
        <!-- 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) -->
        <property name="maximumPoolSize" value="60" />
        <property name="minimumIdle" value="10" />
    </bean>
Spring JDBC的数据库连接池配置主要是通过`org.springframework.jdbc.datasource`包下的`DataSource`接口来管理的,常用的有几种常见的配置: 1. **BasicDataSource**:这是Spring提供的最基础的数据库连接池,它直接实现了`javax.sql.DataSource`接口。配置时需要指定数据源的相关信息,如URL、用户名和密码,以及最大连接数、最小连接数等属性。 ```java @Configuration public class DataSourceConfig { @Bean(destroyMethod = "close") public DataSource dataSource() { BasicDataSource ds = new BasicDataSource(); ds.setUrl("jdbc:mysql://localhost:3306/test"); ds.setUsername("username"); ds.setPassword("password"); ds.setMaxActive(50); // 最大活动连接数 ds.setMinIdle(10); // 最小空闲连接数 return ds; } } ``` 2. **HikariCP** 或 **Druid**:更高级的连接池比如HikariCP或Druid,它们提供了更多的性能优化选项和监控特性。配置时通常会注入到`BasicDataSource`中并覆盖默认设置。 ```java @Configuration public class HikariConfig { @Bean public DataSource dataSource() { HikariConfig config = new HikariConfig(); config.setDriverClassName("com.mysql.cj.jdbc.Driver"); config.setJdbcUrl("jdbc:mysql://localhost:3306/test"); config.setUsername("username"); config.setPassword("password"); config.setMaximumPoolSize(100); // ... 更多配置项... return new HikariDataSource(config); } } ``` 3. **第三方连接池**:还可以选择如C3P0、DBCP等第三方库作为连接池,配置方式类似,但需引入对应的依赖并提供相应的初始化配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值