知识点

数据库连接池

2019-03-11  本文已影响29人  _NineSun旭_

数据库连接池介绍

在没有连接池,需要程序直接向数据库获取连接,频繁对数据库进行连接会使数据库宕机,进程直接被结束;为了缓解此压力,建立了一个缓冲,由此缓冲对数据库操作, 此缓冲区存放多个创建好的连接对象,程序要对数据库访问时,从连接池中取得一个连接对象,用完将连接对象返回给连接池,。
jdk只提供接口,具体的程序需要三方jar包。DBCP(apache)、C3P0、druid(阿里)

没有Mybatis情况下如何使用连接池:

jdk提供javax.sql.DataSource接口获取连接池,只提供接口,无实现类,只建立了一个标准。tomcat实现了这个接口的实现类,并调用DBCPjar包 ,由Tomcat管理连接池,java程序需要连接时就必须和Tomcat间进行进程间的通信,jdk中的JNDI(java命名目录接口) jar包来完成进程间的通信,其API为javax.namming.Context接口中的lookup(“数据源名称”)方法

Tomcat配置连接池

1.配置tomcat下的conf下的context.xml文件,在<Context></Context>之间:

<Resource name="jdbc/oracle"
 auth="Container"  <!-- 授权 -->
 type="javax.sql.DataSource" 
 driverClassName="oracle.jdbc.driver.OracleDriver" 
 url=" jdbc:oracle:thin:@host:port:databse" 
 username=" user" 
 password="password" 
 maxActive="100"  <!-- 最大激活连接数,同时有20个连接 -->
 maxIdle="30"   <!-- 最大空闲连接数,没有人用也得存在 -->
 maxWait="10000" />   <!-- 新的请求等待时间 -->

2.将对应数据库的驱动类dbcp、pool、connection三个jar包放到tomcat的lib目录下
启动Tomcat后测试:

...
Context c = new InitalContext();
DataSource pool = (DataSource)c.lookup("java:comp/env/jdbc/oracle";
Connection conn = pool.getConnection();
...
上一篇下一篇

猜你喜欢

热点阅读