当前位置: 首页 > 图文教程 > 网络编程 > JSP > 数据库BEAN:RESIN连接池

JSP
如何用Jsp读取Mysql数据库
打开页面就是全屏的方法
如何在Jsp中使用JDBC来联结MySql
在linux上建jsp環境
如何使用JSP访问MySQL数据库
JSP数据库操作例程(Use Bean)
如何使用JSP+MySQL创建留言本(一)
如何使用JSP+MySQL创建留言本(二)
如何使用JSP连接DB2数据库
用js绘图
如何使用JSP+MySQL创建留言本(三)
JDBC 入门(三)
JDBC 入门(二)
JDBC 入门(一)
在jsp中发送email
让你的IIS服务器支持JSP
用JSP编写文件上传
获取jsp各种参数
用JSP/ASP创建WAP应用
jsp实现购物程序

JSP 中的 数据库BEAN:RESIN连接池


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 85 ::
收藏到网摘: n/a

数据库BEAN:RESIN连接池
matrix原创 作者:fajaven
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>



欢迎大家指正与优化。谢谢!!

matrix开源技术原创
如果你对此文章有任何看法或建议,请到Matrix论坛发表您的意见.
您也可以点击-fajaven查看翻译作者的详细信息.