【JAVA】springBoot中使用Hikari连接池

30 篇文章 0 订阅
27 篇文章 0 订阅

1. 配置

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=300000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1

配置仅供参考,可根据自己需要进行修改;

启动后

2019-03-06更新:yaml

 

  datasource:
    hikari:
      #自动提交
      auto-commit: true
      connection-test-query: SELECT 1
      #等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30秒 -->
      connection-timeout: 30000
      # 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟 -->
      idle-timeout: 600000
      #一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,
      #建议设置比数据库超时时长少30秒,参考MySQL wait_timeout参数(show variables like '%timeout%';) -->
      max-lifetime: 620000
      #连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) -->
      maximum-pool-size: 30
      #池中维护的最小空闲连接数
      minimum-idle: 5
      pool-name: DatebookHikariCP
      read-only: false
    type: com.zaxxer.hikari.HikariDataSource

2020-04-06 项目中使用优化后:

  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.jdbc.Driver
    hikari:
      #自动提交
      auto-commit: true
      connection-test-query: SELECT 1
      #等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30秒 -->
      connection-timeout: 30000
      # 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟 -->
      idle-timeout: 300000
      #一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟
      max-lifetime: 1800000
      #连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) -->
      maximum-pool-size: 20
      #池中维护的最小空闲连接数,如果当连接池空闲连接少于 minimumIdle,
      #而且总共连接数不大于 maximumPoolSize 时,HikariCP 会尽力补充新的连接。为了性能考虑,不建议设置此值,而是让 HikariCP 把连接池当做固定大小的处理,默认 minimumIdle 与 maximumPoolSize 一样。
      minimum-idle: 5
      pool-name: DatebookHikariCP
      read-only: false
      #验证与数据库连接的有效时间
      validation-timeout: 5000

 

在Spring Boot使用MyBatis进行数据库连接池配置,可以通过以下步骤进行: 1. 首先,在`pom.xml`文件添加MyBatis和数据库驱动的依赖: ```xml <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>com.mysql.cj</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> </dependencies> ``` 2. 在`application.properties`或`application.yml`配置文件添加数据库连接相关配置,例如: ```properties # 数据库连接配置 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # MyBatis配置 mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.model ``` 3. 创建一个数据源配置类,用于配置数据库连接池和MyBatis的相关配置,例如: ```java @Configuration @MapperScan("com.example.mapper") public class DataSourceConfig { @Value("${spring.datasource.url}") private String url; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; @Value("${spring.datasource.driver-class-name}") private String driverClassName; @Bean public DataSource dataSource() { HikariConfig config = new HikariConfig(); config.setJdbcUrl(url); config.setUsername(username); config.setPassword(password); config.setDriverClassName(driverClassName); return new HikariDataSource(config); } @Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); factoryBean.setDataSource(dataSource); return factoryBean.getObject(); } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } } ``` 4. 创建Mapper接口和对应的Mapper XML文件,用于定义数据库操作的SQL语句。 至此,你已经完成了Spring BootMyBatis的数据库连接池配置。你可以通过注入Mapper接口来使用MyBatis进行数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值