📄 connectionfactoryimpl.java
字号:
/*
* Created on 2008-9-26
*
* Copyright Digital China Co. Ltd.
* All right reserved.
*/
package com.dc.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Hashtable;
import java.util.Properties;
import java.io.File;
import javax.naming.NamingException;
import javax.sql.DataSource;
import com.dc.config.SystemConfigration;
/**
* <p>
* 再次添加该类描述
* </p>
*
*
* @author Cluck
* @version 1.0
*/
public class ConnectionFactoryImpl implements ConnectionFactory {
/**
* 驱动
*/
private String driverKey = "Dodugo.db.datasource.driver";
/**
* url
*/
private String urlKey = "Dodugo.db.datasource.url";
/**
* userName
*/
private String userNameKey = "Dodugo.db.datasource.username";
/**
* passWord
*/
private String passWordKey = "Dodugo.db.datasource.password";
/**
* jndi name
*/
private String jndiNameKey = "Dodugo.db.datasource.jndi";
private static ConnectionFactoryImpl instance = null;
private JNDILocalLocator lndiLocal = new JNDILocatorImpl();
/**
* @roseuid 421EBC1F0368
*/
private ConnectionFactoryImpl() {
String driverClassName = SystemConfigration.getInstance().getMessage(driverKey);
if(driverClassName != null && !driverClassName.trim().equals("")){
try {
Class.forName(driverClassName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
public synchronized static ConnectionFactoryImpl getInstance(){
if(instance == null){
instance = new ConnectionFactoryImpl();
}
return instance;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getServerConnection(java.lang.String,
* boolean)
*/
public Connection getServerConnection(String dataSourceJndi,
boolean transactionAuto) throws SQLException {
DataSource ds = null;
try {
ds = lndiLocal.getDSObject(dataSourceJndi);
} catch (NamingException e) {
e.printStackTrace();
return null;
}
Connection con = ds.getConnection();
if (!transactionAuto) {
con.setAutoCommit(false);
}
return con;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getConnection(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String, boolean)
*/
public Connection getConnection(String className, String url,
String userName, String passWord, boolean transactionAuto)
throws SQLException, ClassNotFoundException {
return null;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getConnection(boolean)
*/
public Connection getConnection(boolean transactionAuto)
throws SQLException {
Connection con = null;
String dataSourceJndi = SystemConfigration.getInstance().getMessage(jndiNameKey);
if(!dataSourceJndi.trim().equals("")){
con = getServerConnection(dataSourceJndi, transactionAuto);
}else{
String url = SystemConfigration.getInstance().getMessage(urlKey);
System.out.println("url="+url);
String username = SystemConfigration.getInstance().getMessage(userNameKey);
String password = SystemConfigration.getInstance().getMessage(passWordKey);
con = getConnection(url, username, password, transactionAuto);
}
return con;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getConnection(java.util.Hashtable,
* boolean)
*/
public Connection getConnection(Hashtable connectionInfo,
boolean transactionAuto) throws SQLException {
return null;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getConnection(java.util.Properties,
* boolean)
*/
public Connection getConnection(Properties connectionInfo,
boolean transactionAuto) throws SQLException {
return null;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getConnection(java.io.File,
* boolean)
*/
public Connection getConnection(File connectionFile, boolean transactionAuto)
throws SQLException {
return null;
}
/*
* (non-Javadoc)
*
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getConnection(java.lang.String,
* boolean)
*/
public Connection getConnection(String connectionFile,
boolean transactionAuto) throws SQLException {
return null;
}
/* (non-Javadoc)
* @see com.xiruan.dataproduce.DAO.ConectionFactory#getBusinessConnection(java.util.Properties, boolean)
*/
public Connection getBusinessConnection(Properties connectionInfo, boolean transactionAuto) throws SQLException {
Connection con = null;
String url = connectionInfo.getProperty("url");
String username = connectionInfo.getProperty("username");
String password = connectionInfo.getProperty("password");
String dsjndi = connectionInfo.getProperty("dsjndi");
if(url != null && !url.trim().equals("")){
con = getConnection(url, username, password, transactionAuto);
}else{
con = getServerConnection(dsjndi, transactionAuto);
}
return con;
}
private Connection getConnection(String url, String username, String password, boolean transactionAuto) throws SQLException{
Connection con = null;
if(username == null || username.trim().equals("")){
con = DriverManager.getConnection(url);
}else{
con = DriverManager.getConnection(url, username, password);
}
if(con != null){
con.setAutoCommit(transactionAuto);
}
return con;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -