HikariCP號稱是現在性能最好的JDBC連接池組件,具體的性能到底如何,我也沒有仔細的測試過,不過從它現在的發展來看,其可能確實如它宣傳的那樣其性能高過目前所有的連接池組件。之前對連接池的記憶一直都是C3P0、DBCP、BoneCP,這三者中BoneCP的性能是最好的,C3P0的性能在現在來說確實是非常差的了,好像C3P0很久都沒有更新了,所以我們應該杜絕在項目中使用C3P0,至於是否要使用HikariCP,我覺得可以嘗試。HikariCP畢竟是才出來不久,其性能到底如何,也需要實踐的檢驗,若是擔心新東西有坑,我推薦使用BoneCP。Spring現在也集成了HikariCP,所以我覺得很有嘗試它的必要。前不久我在項目中使用了HikariCP,也沒出現什麼問題,運行比較穩定。
HikariCP在github上的地址:https://github.com/brettwooldridge/HikariCP
下面是2張HikariCP和其他連接池組件的性能比較圖片:

在其網站上可以看到詳細的使用文檔,下面是常規的使用方法:
import java.sql.Connection;
import java.sql.SQLException;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
/**
* HikariCP使用
* @author CoolKing
*
*/
public class DataSource {
private HikariDataSource ds;
/**
* 初始化連接池
* @param minimum
* @param Maximum
*/
public void init(int minimum,int Maximum){
//連接池配置
HikariConfig config = new HikariConfig();
config.setDriverClassName("com.mysql.jdbc.Driver");
config.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/testdb?user=root&password=123456&useUnicode=true&characterEncoding=utf8");
config.addDataSourceProperty("cachePrepStmts", true);
config.addDataSourceProperty("prepStmtCacheSize", 500);
config.addDataSourceProperty("prepStmtCacheSqlLimit", 2048);
config.setConnectionTestQuery("SELECT 1");
config.setAutoCommit(true);
//池中最小空閒鏈接數量
config.setMinimumIdle(minimum);
//池中最大鏈接數量
config.setMaximumPoolSize(Maximum);
ds = new HikariDataSource(config);
}
/**
* 銷毀連接池
*/
public void shutdown(){
ds.shutdown();
}
/**
* 從連接池中獲取鏈接
* @return
*/
public Connection getConnection(){
try {
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
ds.resumePool();
return null;
}
}
public static void main(String[] args) throws SQLException {
DataSource ds = new DataSource();
ds.init(10, 50);
Connection conn = ds.getConnection();
//......
//最後關閉鏈接
conn.close();
}
}
另外,HikariCP需要依賴下面幾個jar
slf4j-api-1.7.12.jar
metrics-core-3.0.2.jar
metrics-healthchecks-3.1.2.jar
javassist-3.19.0-GA.jar
HikariCP-2.3.5.jar
若使用MySQL則還需要mysql-connector-java-5.0.8-bin.jar
以上使用HikariCP需要的jar可以到http://download.csdn.net/detail/abc_key/8790543這個地址下載