package org.dayatang.db;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.Driver;
/**
* 此抽象类适用于所有数据库连接信息从classpath下的jdbc.properties文件中读取
*
* @author chencao
*
*/
public abstract class AbstractDBManager implements DBManager {
private static final Logger LOGGER = LoggerFactory
.getLogger(AbstractDBManager.class);
@SuppressWarnings("unchecked")
public AbstractDBManager() {
this.jdbcUrl = PropertiesUtil.JDBC_URL;
this.username = PropertiesUtil.JDBC_USERNAME;
this.password = PropertiesUtil.JDBC_PASSWD;
this.hostName = PropertiesUtil.JDBC_HOST_NAME;
this.databaseName = PropertiesUtil.JDBC_DATABSE_NAME;
try {
this.driverClass = (Class<Driver>) Class.forName(PropertiesUtil.JDBC_DRIVER);
} catch (ClassNotFoundException e) {
error("initial driver class error!!");
System.exit(1);
}
}
protected String jdbcUrl;
protected String username;
protected String password;
protected Class<Driver> driverClass;
protected String hostName;
protected String databaseName;
public String getJdbcUrl() {
return jdbcUrl;
}
public void setJdbcUrl(String jdbcUrl) {
this.jdbcUrl = jdbcUrl;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Class<Driver> getDriverClass() {
return driverClass;
}
public void setDriverClass(Class<Driver> driverClass) {
this.driverClass = driverClass;
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
public String getDatabaseName() {
return databaseName;
}
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName;
}
private void error(String message, Object... params) {
if (LOGGER.isErrorEnabled()) {
LOGGER.error(message, params);
}
}
}