常用连接池 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;
}

}

posted @ 2024-06-29 16:42  自在现实  阅读(71)  评论(0)    收藏  举报