常用连接池 Hikari和druid
package org.hu.jdbc.pool;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import javax.sql.DataSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class PoolDemo {
//DataSource ds=null;
private static HikariDataSource dataSource=null;
private static DataSource druiddataSource=null;
public static void main(String[] args) throws Exception {
//System.out.println(getProp("src/main/resources/db.properties").getProperty("mysql.url"));
System.out.println(getDS().getConnection());
}
public static DataSource getDruiddataSource() throws Exception {
if (druiddataSource != null) {
return druiddataSource;
} else {
Properties prop = getProp("src/main/resources/db.properties");
String durl = prop.getProperty("mysql.url");
String duser = prop.getProperty("mysql.user");
String dpwd = prop.getProperty("mysql.pwd");
druiddataSource = DruidDataSourceFactory.createDataSource(prop);
return druiddataSource;
}
}
public static DataSource getDS() throws IOException {
if (dataSource != null) {
return dataSource;
} else {
Properties prop = getProp("src/main/resources/db.properties");
String durl = prop.getProperty("mysql.url");
String duser = prop.getProperty("mysql.user");
String dpass = prop.getProperty("mysql.pwd");
HikariConfig config = new HikariConfig();
config.setJdbcUrl(durl);
config.setUsername(duser);
config.setPassword(dpass);
dataSource = new HikariDataSource(config);
return dataSource;
}
}
public static Properties getProp(String durl) throws IOException {
Properties prop = new Properties();
FileInputStream fin=new FileInputStream(new File(durl));
prop.load(fin);
return prop;
}
}

浙公网安备 33010602011771号