package com.foreknow.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.foreknow.util.PropertyUtil;
public class DBManager {
private Properties prop;
private String path = "src/datainfo.properties";
private PropertyUtil propertyUtil;
private static DBManager dbManager = null;
private Log logger = LogFactory.getLog(DBManager.class);
//单例不能new
private DBManager(){
}
public static DBManager getInstance() {
if (dbManager == null) {
dbManager = new DBManager();
}
return dbManager;
}
/**
* @return
* 与数据库进行连接
*/
public Connection getConnection() {
if (propertyUtil == null) {
propertyUtil = PropertyUtil.getInstance();
if (prop == null) {
prop = propertyUtil.getProperty(path);
if (logger.isInfoEnabled()) {
logger.info("读取数据库配置文件: " + path);
}
}
}
Connection conn = null;
try {
Class.forName(prop.getProperty("DRIVER"));//datainfo
conn = DriverManager.getConnection(prop.getProperty("DBURL"),prop.getProperty("USERNAME"),prop.getProperty("USERPWD"));
conn.setAutoCommit(false);//先这样简单自动提交,以后再业务层管理事务,就需要设置为false了
if (logger.isInfoEnabled()) {
logger.info("读取数据库配置文件成功!");
}
} catch (ClassNotFoundException e) {
if (logger.isErrorEnabled()) {
logger.error("找不到数据库驱动!");
}
} catch (SQLException e) {
if (logger.isErrorEnabled()) {
logger.error("连接失败!");
}
}
return conn;
}
}
2019-08-28 DBManager
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 《按自己的意愿过一生》 这是来自蔡佩辰(菜菜)的第28篇早间日记 昨天和老公在家里,看完了王潇的《按自己的意愿过一...
- 亲爱的儿子: 明天你就要迈入大学,开启你的大学之旅。有些话我想叮咛你。 一,树立正确的人生取向。 ...