HirakiCP源码分析

一 源码下载

使用4.0.3版本

启动测试

修改toolchiain jdk为本地

<toolchains>
   <toolchain>
      <type>paths</type>
      <provides>
         <id>java</id>
      </provides>
      <configuration>
         <paths>
            <path>D:\Program Files\Java\jdk1.8.0_144\bin</path>
         </paths>
      </configuration>
   </toolchain>
</toolchains>

删除 pom.xml 中 docker-maven-plugin 插件

      <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>8.0.11</version>
      </dependency>

 控制台执行命令,跳过测试

mvn clean package '-Dmaven.test.skip=true' '-X' '-Dmaven.javadoc.skip=true'

经过以上步骤可正常执行测试代码

 HikariConfig hikariConfig = new HikariConfig();
      hikariConfig.setPoolName("HikariCP 连接池");
      hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
      hikariConfig.setJdbcUrl("jdbc:mysql://192.168.123.123:3306/test?characterEncoding=utf8");
      hikariConfig.setUsername("root");
      hikariConfig.setPassword("123456");
      hikariConfig.setMinimumIdle(2);
      hikariConfig.setMaximumPoolSize(10);

      HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
      Connection connection = null;
      try {
         connection = hikariDataSource.getConnection();
         Statement st = connection.createStatement();
         ResultSet rs = st.executeQuery("select * from test");

         //----------------------------------------------------------

         ArrayList<HashMap<String, Object>> list = new ArrayList<>();
         ResultSetMetaData md = rs.getMetaData();
         int columnCount = md.getColumnCount();
         while (rs.next()) {
            HashMap<String, Object> rowData = new HashMap<>();
            for (int i = 1; i <= columnCount; i++) {
               rowData.put(md.getColumnName(i), rs.getObject(i));
            }
            list.add(rowData);
         }
         Object[] array = list.toArray();
         String string = Arrays.toString(array);

         System.out.printf(string);


         //----------------------------------------------------------

      } catch (SQLException e) {
         e.printStackTrace();
      } finally {
         if (connection != null) {
            try {
               connection.close();
            } catch (SQLException e) {
               e.printStackTrace();
            }
         }
      }
      //实际使用中一般是在应用启动时初始化数据源,应用从数据源中获取连接;并不会关闭数据源。
      hikariDataSource.close();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值