package org.neframework.jpa.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public final class DataSourceTools {
private static Properties p = null;
private static DruidDataSource dataSource = null;
private DataSourceTools() {
}
static {
init();
}
private static void init() {
p = new Properties();
InputStream in = DataSourceTools.class.getClassLoader().getResourceAsStream("druid.properties");
try {
p.load(in);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
try {
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(p);
dataSource.init();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
/**
*
* @Description:
* @return
* @throws
*/
public static Connection getConn() {
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return conn;
}
/**
* 关闭数据库连接
*
* @param connect
*/
public static void close(ResultSet rs, Statement stmt, Connection conn) {
try {
if (rs != null) {
if (!rs.isClosed()) {
rs.close();
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
try {
if (stmt != null) {
if (!stmt.isClosed()) {
stmt.close();
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
try {
if (conn != null) {
if (!conn.isClosed()) {
conn.close();
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}// #close
public static void main(String[] args) {
System.err.println(getConn());
}
}