HikariCP源码分析之源码环境搭建

一、fork源码库

为了方便记录以及查看一些历史的提交信息,我先在github上fork了这个源码库。
他的原始源码库位置为HikariCP源码位置
在fork到我的源码库之后,我就可以用git clone拉取下来,然后在我本地打开,做一些修改和笔记。然后提交到我自己的源码库上面了。
这样比起你直接下载源码zip包的好处就是,你可以看到每一行代码的提交信息,得以知道他们提交的时候修改了什么以及提交的注释等等。
在这里插入图片描述

二、clone源码,编译运行

使用git clone命令把源码拉取到本地,然后用idea打开。
打开之后常规操作,设置maven库位置,设置jdk版本等等一堆事情。

三、修改依赖,引入mysql驱动

在测试之前,我们先看一眼他的pom文件,我们发现没有mysql的依赖。他默认的是pg。
在这里插入图片描述
而我本地没有pg的服务,所以我又引入了一个mysql的驱动。不然没法读取我的表。
在这里插入图片描述
此时我们就具备了一切前置工作。

四、编写测试类,运行测试

我新建了一个包,下面写一个demo类。

public class Demo {

   private static final String querySql = "select * from file_info where id=94";

   public static void main(String[] args) throws SQLException {

	  // // 获取数据源,执行sql,输出执行结果
      HikariDataSource ds = getDs();
      Connection connection = ds.getConnection();
      PreparedStatement preparedStatement = connection.prepareStatement(querySql);
      try(ResultSet resultSet = preparedStatement.executeQuery()) {
         while (resultSet.next()){
            System.out.println(resultSet.getMetaData().getColumnName(1));
            System.out.println(resultSet.getMetaData().getColumnName(2));
            System.out.println(resultSet.getMetaData().getColumnName(3));
            System.out.println(resultSet.getMetaData().getColumnName(4));
         }
      }
   }

   // 获取数据源
   public static HikariDataSource getDs() {
      HikariConfig hikariConfig = new HikariConfig();
      hikariConfig.setJdbcUrl("jdbc:mysql://ip:3306/表名?useUnicode=true&useSSL=false&characterEncoding=utf8");
      hikariConfig.setUsername("root");
      hikariConfig.setPassword("123456");
      hikariConfig.setMaximumPoolSize(10);
      hikariConfig.setMinimumIdle(5);
      hikariConfig.setLeakDetectionThreshold(2000);
      hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
      return new HikariDataSource(hikariConfig);
   }
}

然后启动即可,我们预期是输出我们这个表的前四列的名字。然后发现报错了。
You need to run the CLI build and you need target/classes in your classpath to run.
这是我没有编译我的源码,编译一下就好了。简单编译,绕过测试类。
这个问题在github上的issues列表,开源作者也有描述。启动异常issues
在这里插入图片描述
此时就发现可以正常输出了。
在这里插入图片描述
而且和我数据表的字段是对的上的。
在这里插入图片描述
此时,我们的源码阅读第一步,搭建环境就完成了。我们提交一下代码区github,看看能不能提交上去。

五、提交改动

git commit push就OK了,就提交到你fork的本地库了。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值