import java.sql.Connection;
import java.sql.DriverManager;
import com.xxx.config.*;
/**
* 简单连接工厂实现类
* @author xixi
*/
public class SimpleConnectionFactory extends ConnectionFactory {
String driver;
String url;
String user;
String pwd;
protected SimpleConnectionFactory(){
}
/**
* 得到连接对象
* @return 一个新的ConnectionObject对象
*/
public ConnectionObject getConnection() {
return this.newConnection();
}
/**
* 新建连接对象
* @return 一个新的ConnectionObject对象
*/
public ConnectionObject newConnection() {
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, pwd);
ConnectionObject co = ConnectionManager.newConnectionObject();
co.conn = conn;
co.createTime = System.currentTimeMillis();
return co;
}catch(Throwable e){
throw new DBException(e);
}
}
/**
* 释放连接对象
* @param co 将被关闭的ConnectionObject对象
*/
public void freeConnection(ConnectionObject co) {
if (co != null)
co.close();
}
/**
* 关闭连接对象
* @param co 将被关闭的ConnectionObject对象
*/
public void closeConnection(ConnectionObject co) {
if (co != null)
co.close();
}
/**
* 初始化
* @param conf 数据库配置
*/
public void init(Configs conf){
driver = conf.getConfig(ConfigKeys.dbDriverKey);
url = conf.getConfig(ConfigKeys.dbUrlKey);
user = conf.getConfig(ConfigKeys.dbUserKey);
pwd = conf.getConfig(ConfigKeys.dbPwdKey);
}
}