擴充閱讀
從零開始手寫 mybatis (三)jdbc pool 如何從零手寫實現資料庫連線池 dbcp?
萬字長文深入淺出資料庫連線池 HikariCP/Commons DBCP/Tomcat/c3p0/druid 對比
Database Connection Pool 資料庫連線池概覽
c3p0 資料池入門使用教程
alibaba druid 入門介紹
資料庫連線池 HikariCP 效能為什麼這麼快?
Apache Tomcat DBCP(Database Connection Pool) 資料庫連線池-01-入門介紹
vibur-dbcp 併發、快速且功能完備的 JDBC 連線池,提供先進的效能監控功能-01-入門介紹
HikariCP
快速、簡單、可靠。HikariCP 是一個“零額外開銷”的生產就緒的 JDBC 連線池。
該庫大小約為130Kb,非常輕量級。
在這裡閱讀關於我們是如何做到的。
構件 Artifacts
Java 11+ Maven 構件
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
Java 8 Maven 構件 (維護模式)
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
或者從這裡下載。
🚀 初始化
您可以像這樣使用HikariConfig
類1:
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);
1 MySQL特定示例,請勿逐字複製。
或者直接例項化HikariDataSource
如下所示:
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl("jdbc:mysql://localhost:3306/simpsons");
ds.setUsername("bart");
ds.setPassword("51mp50n");
...
或者基於屬性檔案:
// 在檔案系統和類路徑中檢查.properties檔案
HikariConfig config = new HikariConfig("/some/path/hikari.properties");
HikariDataSource ds = new HikariDataSource(config);
示例屬性檔案:
dataSourceClassName=org.postgresql.ds.PGSimpleDataSource
dataSource.user=test
dataSource.password=test
dataSource.databaseName=mydb
dataSource.portNumber=5432
dataSource.serverName=localhost
或者基於java.util.Properties
:
Properties props = new Properties();
props.setProperty("dataSourceClassName", "org.postgresql.ds.PGSimpleDataSource");
props.setProperty("dataSource.user", "test");
props.setProperty("dataSource.password", "test");
props.setProperty("dataSource.databaseName", "mydb");
props.put("dataSource.logWriter", new PrintWriter(System.out));
HikariConfig config = new HikariConfig(props);
HikariDataSource ds = new HikariDataSource(config);
還有一個可用的系統屬性,hikaricp.configurationFile
,可以用來指定屬性檔案的位置。
如果您打算使用此選項,請使用預設建構函式構造HikariConfig
或HikariDataSource
例項,屬性檔案將會被載入。