HikariCP是一个快速、简单、可靠的JDBC连接池。大约130Kb,相比于其它流行的数据库连接池非常的轻, spingboot2.0以及在国外非常有名的playFramework框架默认使用该连接池。
| 连接池 | 文件数 | 代码行数 | 
|---|---|---|
| Vibur | 34 | 1927 | 
| HikariCP | 21 | 2218 | 
| Tomcat-JDBC | 31 | 6345 | 
| BoneCP | 49 | 7293 | 
| C3P0 | 120 | 1550 | 
HikariCP提供了多种创建数据库连接池的方式
- 硬编码HikariConfig - 1 
 2
 3
 4
 5
 6
 7
 8
 9- HikariConfig config = new HikariConfig(); 
 config.setJdbcUrl("jdbc:mysql://localhost:3306/simpsons");
 config.setUsername("bart");
 config.setPassword("51mp50n");
 config.addDataSourceProperty("cachePrepStmts", "true");
 config.addDataSourceProperty("prepStmtCacheSize", "250");
 config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
 HikariDataSource ds = new HikariDataSource(config);
- 直接硬编码HikariDataSource - 1 
 2
 3
 4
 5- HikariDataSource ds = new HikariDataSource(); 
 ds.setJdbcUrl("jdbc:mysql://localhost:3306/simpsons");
 ds.setUsername("bart");
 ds.setPassword("51mp50n");
 ...
- 加载properties文件 - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12- HikariConfig config = new HikariConfig("/some/path/hikari.properties"); 
 HikariDataSource ds = new HikariDataSource(config);
 example.properties
 dataSourceClassName=org.postgresql.ds.PGSimpleDataSource
 dataSource.user=test
 dataSource.password=test
 dataSource.databaseName=mydb
 dataSource.portNumber=5432
 dataSource.serverName=localhost
- HikariConfig是一个用来设置数据库连接属性属性的普通java类。还给连接池设置了一些常用默认属性: 
| 1 | private static final long CONNECTION_TIMEOUT = SECONDS.toMillis(30); | 
值得说明的是HikariCP还可以使用系统的一个默认属性:hikaricp.configurationFile
| 1 | public HikariConfig() { | 
hikaricp.configurationFile,可用于指定属性文件的位置。 如果您打算使用此选项,则使用默认构造函数构造HikariConfig或HikariDataSource实例,HikariCP会加载该值对应的属性文件。
