JDNI配置数据库连接池

来源:互联网 发布:如何用python做贪吃蛇 编辑:程序博客网 时间:2024/05/18 13:23

1.     在tomcat中配置JNDI全局数据源连接池。

配置方法一:使用tomcat默认的DBCP连接池(全局数据库)

第一步:将要连接的数据库驱动程序复制到tomcat安装目录下的lib文件夹

         第二步:找到tomcat安装目录下context.xml文件,并在其中添加如下内容

<Resourcename="oracle"author="Container"type="javax.sql.DataSource"

    driverClassName="oracle.jdbc.driver.OracleDriver"

    url="jdbc:oracle:thin:@localhost:1521:orcl"

    username="system"

    password ="123456"

    maxActive="10"maxIdle="8">

</Resource>

其中:name 表示JDNI对象的名称; type表示资源类型; scope 表示作用域; factory  表示对象工厂; username表示数据库账号; url 表示连接数据库的url; driverClassName表示数据库驱动类; password表示数据库账号的密码; maxActive :表示连接池最大连接数

第三步:直接在代码中使用

//通过jndi获取tomcat配置的数据源获取连接池中的连接对象

Context context = new InitialContext();

DataSource datasource = (DataSource)context.lookup("java:comp/env/oracle");

conn = datasource.getConnection();

通过这三步即可实现全局数据库的配置

如在Dbconnection.java代码中实现连接

import java.sql.Connection;

import java.sql.SQLException;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

public class DBconnection {

    //JNDI数据源

    public static ConnectiongetConnection(){

       Connection conn = null;

       try{

       //通过jndi获取tomcat配置的数据源获取连接池中的连接对象

       Context context = newInitialContext();

       DataSource datasource =(DataSource) context.lookup("java:comp/env/oracle");

       conn =datasource.getConnection();

       }catch(NamingException e){

           e.printStackTrace();

       }catch(SQLException e){

           e.printStackTrace();

       }

       return conn;

    }

}

2.在工程下配置局部

<Context>

<Resourcename="oracle"author="Container"type="javax.sql.DataSource"

    driverClassName="oracle.jdbc.driver.OracleDriver"

    url="jdbc:oracle:thin:@localhost:1521:orcl"

    username="system"

    password ="123456"

    maxActive="10"maxIdle="8">

</Resource>

</Context>

第三步:直接在代码中使用

//通过jndi获取tomcat配置的数据源获取连接池中的连接对象

Context context = new InitialContext();

DataSource datasource = (DataSource)context.lookup("java:comp/env/oracle");

conn = datasource.getConnection();

 

0 0