Resin:数据库连接

原创 2004年06月23日 19:21:00

前言:在web编程中,数据库连接一直是比较头疼的问题,数据库连接的好坏直接影响到整个网站访问速度的快慢。

        目前,在网站建设当中,使用jsp/java servlet/java bean作为动态页面编程已经越来越得到大家的认可。作为免费的web服务器Resin成为中小型站点搭建的选择之一。我选择的是免费数据库mysql。

        Resin现在的版本为3.x,它自己本身提供了连接池,配置如下:
        resin.conf
        <resin>
        ……
        <database>
           <jndi-name>jdbc/mysql</jndi-name>             //jndi-name
           <driver type="org.gjt.mm.mysql.Driver">        //mysql驱动driver
             <url>jdbc:mysql://localhost:3306/test</url>   //url
             <user>root</user>                                       //数据库连接用户名
             <password></password>                            // 密码
            </driver>
            <prepared-statement-cache-size>8</prepared-statement-cache-size>
            <max-connections>20</max-connections>    //最大连接数为20
            <max-idle-time>30s</max-idle-time>            
          </database>
            ……
          </resin>

配置好resin.conf,重新启动resin服务器。下面我们就可以编写代码连接数据库了。

         用java bean编写代码:
         package com.ewe.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;

**
* Title: DBConnection.class
* Description: connection mysql
* Copyright: Copyright (c) 2004
* Company: www.ewe.com.cn
* @author bluesunny <hyjun2001@163.com>
*/

public class DBConnection {
    private Connection con = null;
    private Statement stmt = null;
    private ResultSet rs = null;
    private int resultNum=0;

    /**
     * 构造函数
     * 找到数据源,并用这个数据源创建连接
     */
    public DBConnection() {
        try  {              
              Context initCtx = new InitialContext();
             Context envCtx = (Context) initCtx.lookup("java:comp/env");
             DataSource ds = (DataSource)envCtx.lookup("jdbc/mysql");
             con =  ds.getConnection();  
         } catch (Exception ex) {
                 throw new Exception("Couldn't open connection to database: " + ex.getMessage());
            }      

    }

    /**
     * 执行SQL语句:查询记录
     * @param sql SQL语句
     * @return ResultSet 记录集
     */
    public ResultSet executeQuery(String sql) {
        rs = null;
        try {
            if(con==null) con = ds.getConnection();  
   stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            rs = stmt.executeQuery(sql);
        } catch(SQLException se) {
            System.out.println("Query error:" + se.getMessage());
        }
        return rs;
    }

    /**
     * 执行SQL语句 :插入与更新记录
     * @param sql SQL语句
     * @return int resultNum 更新的记录数
     */
    public boolean executeUpdate(String sql) {
        resultNum=0;
        try {
            if(con==null) con = getConnection();
           stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
        this.resultNum = stmt.executeUpdate(sql);
       return true;

        } catch (SQLException se) {
            System.err.println("Update error:" + se.getMessage());
            return false;
        }
       

    }

    /**
     * 关闭连接
     */
    public void close() {
        try {
            if (rs != null) {
                rs.close();
                rs = null;
            }
            if (stmt != null) {
               stmt.close();
               stmt = null;
            }
            if (con != null) {
                con.close();
                con = null;
            }
        } catch (SQLException se) {
            System.out.println("close error: " + se.getMessage());
        }
    }
}

好了,到这里,大功算是告成了,下面我们可以写一个jsp页面来测试它,在jsp页面调用这个java bean类,具体的代码略过。

     注意:1 . 记得及时关闭数据库连接   2 . 这样的数据库连接可以做为中小型网站 之用,对于大型网站不适合。

resin 4.0数据源的配置

一、配置多个数据源,多个项目共享这些数据源,也就是这些数据源配置在     之内,而在   之外,这样所有的这些项目都能访问这些数据源 二、一个项目配置多个数据源,也就是将数据源的配置放在 之内...
  • QH_JAVA
  • QH_JAVA
  • 2015年07月17日 23:44
  • 2687

Resin配置数据库连接池

首先需要将相应的JDBC驱动放在Resin主目录下的lib目录下1,resin.conf文件中加入(在sample处)        jdbc/mysql                 jdbc:m...
  • fengyuanfa
  • fengyuanfa
  • 2010年03月18日 08:54
  • 1566

Resin 配置连接池

转载地址:http://hi.baidu.com/xiaopeng3017/blog/item/47a93a7aba05a1ed2f73b300.html  在动态web站点设计中,数据库已成为必不...
  • kalision
  • kalision
  • 2012年06月11日 14:34
  • 4537

Resin配置数据源

resource-ref>  res-ref-name>jdbc/helpinfopubres-ref-name>  res-type>javax.sql.DataSourceres-type>  i...
  • daryl715
  • daryl715
  • 2007年01月19日 09:08
  • 1882

resin配置jndi数据源-sql server2008

resin.conf下加入       test/db           jdbc:jtds:sqlserver://192.168.0.12:1433/test     aaa ...
  • 5iasp
  • 5iasp
  • 2012年01月20日 11:48
  • 1936

resin 4.0数据源的配置

一、配置多个数据源,多个项目共享这些数据源,也就是这些数据源配置在     之内,而在   之外,这样所有的这些项目都能访问这些数据源 二、一个项目配置多个数据源,也就是将数据源的配置放在 之内...
  • QH_JAVA
  • QH_JAVA
  • 2015年07月17日 23:44
  • 2687

Windows下Resin的安装及配置详解

Resin Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发...
  • lrcoop
  • lrcoop
  • 2013年01月14日 22:48
  • 8407

resin安全配置参考

0x01 账号口令 1  设置控制台口令 配置说明  加固 resin 控制台,设置复杂的口令 1 、参考配置操作 (1) 如果不需要使用 resin-admin,建议删除 resin_home/...
  • qq_29277155
  • qq_29277155
  • 2017年01月14日 17:11
  • 663

eclipse下使用resin3启动项目 ,不用安装resin插件,手动配置!

新版的eclipse已经不支持resin3.*版本了,但是resin4和resin3差异比较大且存在hessian序列化冲突的问题,因此resin3在短期内不会消失,通过下方式配置项目可以使eclip...
  • kinmet2010
  • kinmet2010
  • 2014年07月24日 15:45
  • 3858

https学习,resin下配置https

一、使用加密算法作用: 非对称加密算法:RSA,DSA/DSS 对称加密算法:AES,RC4,3DES HASH算法:MD5,SHA1,SHA256 1、其中非对称加密算法用于在握手过程中加密生成的密...
  • hgc0907
  • hgc0907
  • 2016年12月04日 13:08
  • 1082
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Resin:数据库连接
举报原因:
原因补充:

(最多只允许输入30个字)