数据库连接池的配置

数据库连接池配置方法

 

 

在Tomcat中配置数据库连接池有两种方法:

1、         配置全局数据库连接池

(1)、打开Tomcat的安装目录\conf\server.xml文件,并从中找到<GlobalNamingResources>元素,然后加入一个子元素<Resource>,这个子元素的配置代码如下:

<Resource name="myjdbc"auth="Container" 
       type="javax.sql.DataSource"driverClassName="oracle.jdbc.driver.OracleDriver"
       url="jdbc:oracle:thin:@127.0.0.1:1522:oracle"username="scott"
       password="814229"maxActive="200" maxIdle="50" maxWait="3000" />

上述代码解析:红色代码的name可随便设置,但必须与WebTest.xml(配置的项目)中的name和gloable属性相同!driverClassName,url大家都熟悉在这就不做讲述了。maxActive最大连接数,maxIdle空闲连接数,maxWait暂时无法连接数据库的等待时间。

(2)、在Tomcat安装目录\conf\Catalina\localhost中建立一个WebTest.xml文件(文件名要和path属性值一致,建议用项目名字,如下代码示例蓝色部分),然后输入如下内容:

<Contextpath="/WebTest" docBase="WebTest"debug="0">
    <ResourceLinkname="myjdbc" global="myjdbc"type="javax.sql.DataSource" />
</Context>

2、         配置局部数据连接池

在Tomcat安装目录\conf\Catalina\localhost中建立一个WebTest.xml文件,然后输入如下内容:

<Context path="/WebTest" docBase="WebTest"debug="0">
    <Resource name="myjdbc"auth="Container"
       type="javax.sql.DataSource"driverClassName="oracle.jdbc.driver.OracleDriver"
       url="jdbc:oracle:thin:@127.0.0.1:1522:oracle"username="scott"             
       password="814229"maxActive="200" maxIdle="50" maxWait="3000" />
</Context>

 

配置完数据库连接池后,可以在Servlet的service方法或其他处理HTTP请求的方法中使用如下代码来连接数据库:

try {
           javax.naming.Context ctx = new javax.naming.InitialContext();

          
           //获得DataSource对象
           javax.sql.DataSource ds =(javax.sql.DataSource)ctx.lookup("java:/comp/env/myjdbc");

           //获得Connection对象

      try {

              Connection conn =ds.getConnection();
              Statement stmt =conn.createStatement();
              String sql = "select * from manager";
              ResultSet rs =stmt.executeQuery(sql);

              while(rs.next()) {
                  System.out.println(rs.getString(1));
                  System.out.println(rs.getString(2));
                  System.out.println(rs.getString(3));
                  System.out.println(rs.getString(4));

              }

           } catch (SQLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();

           }

       } catch (NamingException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();

   }

*注意:

①、url="jdbc:oracle:thin:@127.0.0.1:1522:oracle"中@后边的地址写127.0.0.1也可以写localhost。

②、浏览器的地址栏中输入http://127.0.0.1:8080/WebTest/connectionpool也可以输入http://localhost:8080/WebTest/connectionpool可以不一一对应。其中connectionpool为servlet的URL-Pattern的值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值