常用的HikariConnectionPool数据库连接池

package com.jiufive.backend.jdbc;

import com.zaxxer.hikari.HikariDataSource;

import java.beans.PropertyVetoException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

/**

  • @PACKAGE com.jiufive.backend.jdbc

  • @AUTHOR tan_yh

  • @Description

  • @Date 2020/4/1915:11

  • @Version 1.0
    */
    public class HikariConnectionPool {
    private static volatile HikariConnectionPool dbConnection;
    HikariDataSource cpds ;

    private HikariConnectionPool() {
    try {
    /通过属性文件获取数据库连接的参数值/
    Properties properties = new Properties();
    // FileInputStream fileInputStream = new FileInputStream(“src/config/jdbc-mysql.properties”);
    InputStream inStream = DBConnectionPool.class.getClassLoader().getResourceAsStream(“jdbc-mysql.properties”);
    // FileInputStream fileInputStream = new FileInputStream(“src/config/jdbc-oracle.properties”);;
    properties.load(inStream);
    /获取属性文件中的值/
    String driverClassName = properties.getProperty(“jdbc.driverClassName”);
    String url = properties.getProperty(“jdbc.url”);
    String username = properties.getProperty(“jdbc.username”);
    String password = properties.getProperty(“jdbc.password”);

         /**数据库连接池对象**/
         cpds = new HikariDataSource();
    
         /**设置数据库连接驱动**/
         cpds.setDriverClassName(driverClassName);
         /**设置数据库连接地址**/
         cpds.setJdbcUrl(url);
         /**设置数据库连接用户名**/
         cpds.setUsername(username);
         /**设置数据库连接密码**/
         cpds.setPassword(password);
    
         cpds.addDataSourceProperty("cachePrepStmts", "true");
         cpds.addDataSourceProperty("prepStmtCacheSize", "250");
         cpds.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
         //连接池最大连接数,默认是10
         cpds.setMaximumPoolSize(20);
         //此属性控制从池返回的连接的默认自动提交行为,默认值:true
         cpds.setAutoCommit(true);
         //此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
         cpds.setMaxLifetime(1800000);
         //数据库连接超时时间,默认30秒,即30000
         cpds.setConnectionTimeout(30000);
         //空闲连接存活最大时间,默认600000(10分钟)
         cpds.setIdleTimeout(600000);
         //最小空闲连接数量
         cpds.setMinimumIdle(10);
     } catch (IOException e) {
         e.printStackTrace();
     }
    

    }

    /**

    • 获取数据库连接对象,单例
    • @return
      */
      public static HikariConnectionPool getInstance() {
      if (dbConnection == null) {
      synchronized (HikariConnectionPool.class) {
      if (dbConnection == null) {
      dbConnection = new HikariConnectionPool();
      }
      }
      }
      return dbConnection;
      }

    /**

    • 获取数据库连接
    • @return 数据库连接
      */
      public final synchronized Connection getConnection() throws SQLException {
      return cpds.getConnection();
      }
      //关闭连接池
      public void close(){
      getDataSource().close();
      }

    public HikariDataSource getDataSource() {
    return cpds;
    }

    public void setDataSource(HikariDataSource dataSource) {
    this.cpds = dataSource;
    }
    }

jdbc-mysql.properties文件内容如下:
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/data_net?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=test

再说说现在的股市,今天股市不算是大跌吧,算小跌,具体看看今天得K线图:
上证指数

深证指数
看看这个A股,横盘多久了,这就是他们的所谓慢牛,上周五,IPO的单天数量是8家,搞注册制搞疯了。现在的上市企业基本上都是打着搞科技,可是实际上这个公司的盈利情况就不得而知了,有些公司基本上都是鱼目混珠、滥竽充数。估计A股的下跌只是开始,大幅度杀跌在后面。大家要小心了。最好是不要再进股市了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值