常用连接池 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  自在现实  阅读(45)  评论(0)    收藏  举报