`
lcywjvb
  • 浏览: 59481 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Tomcat6.20配置数据源

阅读更多
一、在META-INF下创建context.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<Context reloadable="true">

   <Resource name="jdbc/ibmDB" auth="Container" type="javax.sql.DataSource"

       maxActive="100" maxIdle="30" maxWait="10000"

       username="root" password=""

       driverClassName="com.mysql.jdbc.Driver"

       url="jdbc:mysql://localhost:3306/fairpayfairway?autoReconnect=true" />

</Context>

 

name:指定Resource的JNDI名字

auth:指定管理Resource的Manager,它有两个可选值:Container和Application。Container表示有容器来创建和管理Resource,

Application表示由Web应用来创建和管理Resource

type:指定Resource所属的Java类名

maxActive:指定数据库连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制

maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制

maxWait:指定数据库连接池中的数据库连接处于空闲状态的最长时间(以毫秒为单位),超过这一时间,将会抛出异常。取值为-1,表示

可以无限期等待

username:指定连接数据库的用户名

password:指定连接数据库的密码

driverClassName:指定连接数据库的JDBC驱动器中的Driver实现类的名字

url:指定连接数据库的url

二、在web.xml文件中加入<resource-ref>元素

<resource-ref>

      <description>DB Connection</description>

      <res-ref-name>jdbc/ibmDB</res-ref-name>

      <res-type>javax.sql.DataSource</res-type>

      <res-auth>Container</res-auth>

    </resource-ref>

 

description:对所引用的资源的说明

res-ref-name:指定所引用资源的JNDI名字,与<Resource>元素中的name属性对应

res-type:指定所引用资源的类名字,与<Resource>元素中的type属性对应

res-auth:指定管理所引用资源的Manager,与<Resource>元素中的auth属性对应

 

三、连接类

 

 

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

 

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

 

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

 

/**

 * 数据库连接管理

 * 

 * 当程序结束数据库访问后,应该调用Connection对象的close()方法,及时将

 * Connection对象返回数据库连接池,使Connection对象恢复到空闲状态。

 *

 * @author wyyl1 

 * @version 1.0.0

 */

public class ConnDB {

    

    /**

     * 打开数据库连接

     * 

     * @return 数据库连接

     */

    public Connection getConn() {

       Context ctx = null;

       DataSource ds = null;

           try {

              ctx = new InitialContext();

           } catch (NamingException e) {

              log.error("InitialContext fail" ,e );

              // TODO Auto-generated catch block

              e.printStackTrace();

           }

           

           try {

              ds = (DataSource)ctx.lookup("java:comp/env/jdbc/ibmDB");

           } catch (NamingException e) {

              log.error("ctx.lookup fail" ,e );

              // TODO Auto-generated catch block

              e.printStackTrace();

           }

           

           try {

              conn = ds.getConnection();

           } catch (SQLException e) {

              log.error("DB get Connection fail" ,e );

              // TODO Auto-generated catch block

              e.printStackTrace();

           }

       

       return conn;

       

    }

    

    /**

     * 关闭数据库连接

     * 

     * @param rs 结果集

     * @param pset 预处理

     * @param conn 数据库连接

     */

    public void closeDB(ResultSet rs, PreparedStatement pset, Connection conn){

       try {

           if(rs!=null)

           {

              rs.close();

           }

           if(pset!=null){

              pset.close();

           }

           if(conn!=null)

           {

              conn.close();

           }

       } catch (Exception e) {

           log.error("DB Connection close fail" ,e );

           // TODO: handle exception

       }      

    }

    

    private static final Log log = LogFactory.getLog(ConnDB.class);

    

    private Connection conn = null; // 获取连接

    

}

 


四、在tomcat的lib目录下加入:(在孙姐姐的书里,她没有写这一步)

mysql-connector-java-5.1.7-bin.jar

mysqldriver.jar


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyyl1/archive/2009/09/24/4591979.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics