package com.jh.core.db.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import com.jh.app.util.Globle;
import com.mchange.v2.c3p0.DataSources;
public class DBConnection {
private static Map<String ,DataSource> dsMap=new HashMap<String ,DataSource>();;
synchronized static public DataSource dataSource(String dbName) {
if (dsMap.get(dbName) == null)
try {
if(Globle.CMS_DB.equals(dbName)){
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://192.168.3.41:3306/"+dbName+"?useUnicode=true&characterEncoding=GBK";;
System.out.println("url="+url);
DataSource unpooled = DataSources.unpooledDataSource(url,"root", "123456");
DataSource ds = DataSources.pooledDataSource(unpooled);
dsMap.put(dbName, ds);
}else if(Globle.TAG_DB.equals(dbName)){
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://192.168.3.53:3306/"+dbName+"?useUnicode=true&characterEncoding=GBK";;
System.out.println("url="+url);
DataSource unpooled = DataSources.unpooledDataSource(url,"root", "");
DataSource ds = DataSources.pooledDataSource(unpooled);
dsMap.put(dbName, ds);
}else{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://192.168.3.94:3306/"+dbName+"?useUnicode=true&characterEncoding=GBK";;
System.out.println("url="+url);
DataSource unpooled = DataSources.unpooledDataSource(url,"root", "123456");
DataSource ds = DataSources.pooledDataSource(unpooled);
dsMap.put(dbName, ds);
}
} catch (Exception e) {
e.printStackTrace();
}
return dsMap.get(dbName);
}
// base close connection.
public static void closeDBConnection(Connection conn) {
try {
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception e) {
// 标签
e.printStackTrace();
}
}
public static void closeDBPrepared(PreparedStatement ps) {
try {
if (ps != null) {
ps.close();
ps = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getDBConnection(String dbName) {
Connection conn = null;
DataSource ds = dataSource(dbName);
try {
conn = ds.getConnection();
} catch (SQLException e) {
}
//logger.debug("返回数据库链接:" + conn);
return conn;
}
public static void main(String args[]) throws Exception{
long time=System.currentTimeMillis();
System.out.println(getDBConnection("TagDB"));
System.out.println(System.currentTimeMillis()-time);
}
}