Java使用JNDI技术获取DataSource对象

字体大小: 中小 标准 ->行高大小: 标准
package common;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

/**
 * 通过JNDI获取数据源
 * @author 周尚武
 * 时间:2008年12月8日22:37:09
 */
public class DBConnection {

    /**
     * 通过JNDI获取数据源在获取连接对象
     * @return Connection con
     */
    public static Connection getCon(){      
        Connection con = null;
        try {
            Context ic = new InitialContext();
            DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");          
            con = source.getConnection();       
        } catch (NamingException e) {
            System.out.println("数据源没找到!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("获取数连接对象失败!");
            e.printStackTrace();
        }
        return con;
    }
}
JNDI的配置:

1.context.xml文件的配置:

<Resource name="jdbc/books" 
       auth="Container" type="javax.sql.DataSource"  maxActive="100"  
       maxIdle="30" maxWait="10000"   username="sa"   password="123" 
       driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
       url="jdbc:sqlserver://localhost:1433;databasename=books"/>
2.web.xml文件的配置:

<resource-ref>
    <res-ref-name> jdbc/books </res-ref-name>
    <res-type> javax.sql.DataSource </res-type>
    <res-auth> Container </res-auth>
</resource-ref>
3.添加数据库驱动文件:

通过数据源访问数据库,由于数据源由Tomcat 维护,所有必须把JDBC驱动程序复制到Tomcat的common/lib目录下。

 

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/68974.html