数据库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查看翻译作者的详细信息.
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器