-
大小: 2.59 KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2024-11-08
- 語(yǔ)言: Java
- 標(biāo)簽:
資源簡(jiǎn)介
java數(shù)據(jù)庫(kù)連接(所有的數(shù)據(jù)庫(kù)都支持,接口及實(shí)現(xiàn))
代碼片段和文件信息
package?hzvtc.util;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.SQLException;
import?java.util.ArrayList;
import?org.apache.commons.dbutils.DbUtils;
import?org.apache.commons.dbutils.QueryRunner;
import?org.apache.commons.dbutils.ResultSetHandler;
import?org.apache.commons.dbutils.handlers.BeanHandler;
import?org.apache.commons.dbutils.handlers.BeanListHandler;
import?org.apache.commons.logging.Log;
import?org.apache.commons.logging.LogFactory;
public?class?DbHelper?{
private?String?dbms; //?數(shù)據(jù)庫(kù)類型
private?String?dbmsDriver; //?數(shù)據(jù)庫(kù)驅(qū)動(dòng)
private?String?host; //?主機(jī)
private?String?port; //?端口
private?String?db; //?數(shù)據(jù)庫(kù)名
private?String?user; //?用戶名
private?String?password; //?密碼
private?Class?beanClass?=?null;
private?Connection?conn?=?null;
private?final?Log?logger?=?LogFactory.getLog(DbHelper.class);
/**
?*?根據(jù)數(shù)據(jù)庫(kù)類型設(shè)置驅(qū)動(dòng)程序
?*?@param?dbms?數(shù)據(jù)庫(kù)類型,如mysql、postgresql等
?*/
private?void?fillDbmsDriver(String?dbms)?{
if?(dbms.equalsIgnoreCase(“postgresql“))
dbmsDriver?=?“org.postgresql.Driver“;
else?if?(dbms.equalsIgnoreCase(“mysql“))
dbmsDriver?=?“org.gjt.mm.mysql.Driver“;
}
/**
?*?根據(jù)數(shù)據(jù)庫(kù)類型設(shè)置端口
?*?@param?dbms?數(shù)據(jù)庫(kù)類型
?*/
private?void?fillDbmsPort(String?dbms)?{
if?(dbms.equalsIgnoreCase(“postgresql“))
port?=?“5432“;
else?if?(dbms.equalsIgnoreCase(“mysql“))
port?=?“3306“;
}
/**
?*?設(shè)置數(shù)據(jù)連接時(shí)需要的參數(shù)
?*?@param?dbms?數(shù)據(jù)庫(kù)類型
?*?@param?host?主機(jī)
?*?@param?db?數(shù)據(jù)庫(kù)名
?*?@param?user?用戶名
?*?@param?password?密碼
?*/
public?DbHelper(String?dbms?String?host?String?db?String?user
String?password)?{
this.dbms?=?dbms;
fillDbmsDriver(dbms);
this.host?=?host;
fillDbmsPort(dbms);
this.db?=?db;
this.user?=?user;
this.password?=?password;
}
/**
?*?設(shè)置數(shù)據(jù)連接時(shí)需要的參數(shù)
?*?@param?dbms?數(shù)據(jù)庫(kù)類型
?*?@param?host?主機(jī)
?*?@param?port?端口
?*?@param?db?數(shù)據(jù)庫(kù)名
?*?@param?user?用戶
?*?@param?password?密碼
?*/
public?DbHelper(String?dbms?String?host?String?port?String?db
String?user?String?password)?{
this.dbms?=?dbms;
fillDbmsDriver(dbms);
this.host?=?host;
this.port?=?port;
this.db?=?db;
this.user?=?user;
this.password?=?password;
}
/**
?*?加載驅(qū)動(dòng)
?*/
public?void?connect()?{
if?(conn?!=?null)??return;
String?strConn?=?
String.format(“jdbc:%s://%s:%s/%s“?dbms?host port?db);
DbUtils.loadDriver(dbmsDriver);
try?{
conn?=?DriverManager.getConnection(strConn?user?password);
}?catch?(SQLException?e)?{
logger.error(“Database?connection?failed!“);
logger.error(e.getMessage());
}
}
/**
?*?關(guān)閉Connection
?*/
public?void?close()?{
try?{
DbUtils.close(conn);
conn?=?null;
}?catch?(SQLException?e)?{
logger.error(“Database?close?failed!“);
logger.error(e.getMessage());
}
}
/**
?*?根據(jù)無(wú)參sql語(yǔ)句進(jìn)行查詢,并返回一個(gè)對(duì)象,用于單條記錄的查詢
?*?@param?sql?
?*?@return?object
?*/
public?object?query(String?sql)?{
if?(conn?==?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????6749??2008-10-14?12:55??DB連接\DbHelper.java
?????文件???????1040??2008-10-09?13:30??DB連接\DbTest.java
?????文件????????572??2008-10-08?16:25??DB連接\User.java
?????目錄??????????0??2008-11-12?08:00??DB連接
-----------?---------??----------?-----??----
?????????????????8361????????????????????4
評(píng)論
共有 條評(píng)論