數據庫BEAN:RESIN連接池
發表于:2007-07-14來源:作者:點擊數:
標簽:
數據庫BEAN:RESIN連接池 JSP初學者一用到數據庫都會遇到數據庫連接BEAN的問題。 并且對初學者也推薦用RESIN做 服務器 ,配置簡單( 開發 不需要配置APACHE)。 所以把我自己在用的數據庫連接BEAN發出來來,供參考。 由于RESI本身也提供了連接池,就更省事了
數據庫BEAN:RESIN連接池
JSP初學者一用到數據庫都會遇到數據庫連接BEAN的問題。
并且對初學者也推薦用RESIN做
服務器,配置簡單(
開發不需要配置APACHE)。
所以把我自己在用的數據庫連接BEAN發出來來,供參考。
由于RESI本身也提供了連接池,就更省事了,訪問量不大時都夠了。
歡迎指正與優化。謝謝?。?!
==============================
/*****************************
* 數據庫連接 bean ,用來連接 resin 的連接池
*****************************/
package
.net.asales.
mysql;
import
java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.
SQLException;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
public class DBConnection {
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
private int resultNum = 0;
/**
* 構造函數
* 找到數據源,并用這個數據源創建連接
*/
public DBConnection() {
try {
Context env = new InitialContext();
DataSource pool = (DataSource) env.lookup("java:comp/env/jdbc/asales");
if (pool == null)
throw new Exception("jdbc/asales is an unknown DataSource");
conn = pool.getConnection();
stmt = conn.createStatement();
} catch (Exception e) {
System.out.println("naming:" + e.getMessage());
}
}
/**
* 執行SQL語句:查詢記錄
* @param sql SQL語句
* @return ResultSet 記錄集
*/
public ResultSet executeQuery(String sql) {
rs = null;
try {
rs = stmt.executeQuery(sql);
} catch(SQLException se) {
System.out.println("Query error:" + se.getMessage());
}
return rs;
}
/**
* 執行SQL語句 :插入與更新記錄
* @param sql SQL語句
* @return int resultNum 更新的記錄數
*/
public int executeUpdate(String sql) {
resultNum=0;
try {
resultNum = stmt.executeUpdate(sql);
} catch (SQLException se) {
System.err.println("Update error:" + se.getMessage());
}
return resultNum;
}
/**
* 關閉連接
*/
public void close() {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException se) {
System.out.println("close error: " + se.getMessage());
}
}
}
===================
以下是RESIN配置文件中關于數據源的配置例:
<resource-ref>
<res-ref-name>jdbc/asales</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="org.gjt.mm.mysql.Driver"/>
<init-param url="jdbc:mysql://localhost:3306/asales"/>
<init-param user="root"/>
<init-param password=""/>
<init-param max-connections="20"/>
<init-param max-idle-time="30"/>
</resource-ref>
原文轉自:http://www.anti-gravitydesign.com