gpt4 book ai didi

Tomcat 7-dbcp配置数据库连接池详解

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Tomcat 7-dbcp配置数据库连接池详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

Tomcat 7-dbcp配置数据库连接池详解 。

原理 。

      关于连接池,大家都晓得用来限定对数据库的连接。基本的原理是预先在缓冲池中放入一定的空闲连接,当程序需要和数据库来交互时,不是直接新建数据库连接而是在连接池中直接取,使用完成后再放回到连接池中。为什么要这样牺牲一个缓冲来存放这些原本就会使用的连接呢?在上面讲了一个好处就是可以限定连接数,这样不会造成N多的数据库连接最后宕机;额外有了这样一个连接池,也可以来监听这些连接和便于管理.

配置 。

1.拷贝相关的jar 。

要知道连接池不是用来直接操作数据库的,最终进行相关操作的还是相关的jdbc驱动。如果是tomcat服务器,直接将驱动拷到tomncat的lib中。对于Java是ojdbc6.jar;对于sqlserver来讲是tomcat-dbcp.jar、servlet-ap.jar和sql server的驱动sqljdbc4.jar 包到项目文件的web-inf 文件夹下的lib目录。  。

2.配置context.xml 。

?
1
2
3
4
5
6
7
8
9
10
11
   name="jdbc/drp"
   auth="Container"
   type="javax.sql.DataSource"
   factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
   maxActive="100"
   maxIdle="30"
maxWait="10000"
username="drp1"
password="drp1"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:drp" />

如果是全局配置的话,将context.xml文件放在tomcat的配置文件夹conf中即可;若想局部控制就需要将context.xml放在指定的项目中webroot的meta-inf中,就只会对自己本项目起作用.

注:

?
1
2
3
4
5
6
7
8
9
10
11
Name:指定连接池的名称
Auth:是连接池管理权属性,Container表示容器管理
type:数据源类型
factory:这个是在tomcat 5 之后对于commons-dbcp的一种处理方案,具体是用了这样一个指定的实现类来处理的。性能更加优越,也能够兼容dbcp。
maxActive:最大的分配连接数。
maxIdle:idle是空闲的意思,所以这个就是当tomcat启动时,缓冲池为连接的新建的连接数。
maxWait:本文最大响应时间为10s。
url:为数据库地址。
sqlserver的格式:jdbc:sqlserver: //localhost:1433;DatabaseName=name;
driverclassname:驱动地址。
sqlserver的为:com.microsoft.sqlserver.jdbc.SQLServerDriver

 3.验证 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Connectionconn= null ;
PreparedStatementpstmt= null ;
ResultSetrs= null ;
try {
//实例DBCP连接池
Contextctx= new InitialContext();
//通过JNDI访问指定的连接池
DataSourceds=(DataSource)ctx.lookup( "java:comp/env/jdbc/drp" );
//实例化数据库连接
conn=ds.getConnection();
//查询语句
pstmt=conn.prepareStatement( "select* from t_user" );
rs=pstmt.executeQuery();
if (rs.next()){
System.out.print(rs.getString( "user_id" )+rs.getString( "user_name" ));
System.out.print(conn);
}
} catch (SQLExceptione){
 
}
finally {
 
}

后序 。

    之前tomcat 5的版本即可以在localhost:8080/admin中视图化配置,也可在xml中;后面就弃用了视图化配置的过程。总得来说对于针对数据连接的处理的方案,有他的好处,也需要开发人员在平时的编程中养成好的习惯,如果对于开启的连接没有关闭,当连接池够大的时候,会影响性能;如果达到峰值,那么程序直接宕掉。也减少了咱们在创建数据库连接的时间。当然除了dbcp,也有C3P0、Poolmen这样的处理方案.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。

原文链接:http://blog.csdn.net/qq_32353771/article/details/65658375 。

最后此篇关于Tomcat 7-dbcp配置数据库连接池详解的文章就讲到这里了,如果你想了解更多关于Tomcat 7-dbcp配置数据库连接池详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com