数据源和连接池实现步骤
来源:互联网 发布:default vb 编辑:程序博客网 时间:2024/05/22 12:56
接口来表示。有了数据源,我们就不需要再编写其他连接数据的代码,直接从数据源获得连接
就可以了。而且,不管使用什么样的数据库,都使用一样的方式获得数据库连接对象。那么数
据源的对象是如何获得的呢?一般是由容器来创建的,我们在程序中使用JNDI 来获取。通过数
据源创建的连接对象可以被自动放入连接池中统一管理。
连接池是用来管理Connection 对象的,连接池可以从数据源中获得连接,连接池中可以有
若干个数据库连接对象,这些连接对象可以被重用。应用程序需要连接时,就向连接池申请,
如果连接池中有空闲的连接,就会分配给应用程序,如果没有,可能就需要在等待队列里等待。
而如果从连接池中获得了一个连接对象,等到使用完毕之后,通过调用Connection 的close()
方法,就可以将连接还给连接池,这样这个连接对象就又编程空闲的了,可以等待下一次请求。
而连接池中的连接对象将一直保持与数据库的连接,这样,就避免了频繁的连接和关闭。但是,
这些连接对象会占用一定的内存空间。所以,我们要根据数据库的并发访问量,和服务器的硬
件条件来决定连接池中的最大连接数。
数据源和连接池,一个是用来创建连接对象的,一个是用来管理连接对象的。
在Tomcat 中配置数据源
(1)在Tomcat 中加入数据库驱动文件(OJDBC。jAR放在lab下)
(2)配置Tomcat 的conf/context.xml
<Context>
<Resource name="jdbc/books"
auth="Container" type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="pbdevj" password="pwd1234"
driverClassName="oracle.jdbc.OracleDriver "
url="jdbc:oracle:thin:@localhost:1521:orcl "/>
</Context>
备注:
name 指定Resource 的JNDI 名称
auth
指定管理Resource 的Manager(Container:由容器创建
和管理|Application:由Web 应用创建和管理)
type 指定Resource 所属的Java 类
maxActive 指定连接池中处于活动状态的数据库连接的最大数目
maxIdle 指定连接池中处于空闲状态的数据库连接的最大数目
maxWait
指定连接池中的连接处于空闲的最长时间,超过这个时
间会抛出异常,取值为-1,表示可以无限期等待
(3)使用JNDI 获取连接对象
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
//…
Context ic = new InitialContext();
DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");
Connection connection = source.getConnection();
- 数据源和连接池实现步骤
- 数据源和连接池
- 连接池和数据源
- 数据源和连接池
- 数据源和连接池
- 数据源和连接池
- tomcat 6连接oracle配置数据源连接池的步骤
- JDBC数据源和连接池
- JDBC 数据源和连接池
- 配置数据源和连接池
- JDBC数据源和连接池
- javaWeb_adv 连接池和数据源
- JDBC数据源和连接池
- 数据源和连接池介绍
- JDBC数据源和连接池
- JAVA连接池和数据源
- 配置MSSQL数据源连接步骤:
- DBCP数据源连接池实现原理分析
- 关系型数据库的范式
- C#游戏开发快速入门教程Unity5.5教程
- ios学习整理之数组
- 读《计算机组成原理》I
- clob保存为本地xml文件,修改后上传
- 数据源和连接池实现步骤
- 链表、栈、队列的C语言实现
- 模拟赛 栅栏迷宫(时间限制:1000MS 空间限制:256MB)
- HLG 1004 The Triangle(数塔问题DP)
- 关系型数据库的范式
- red5 Scopes and Contexts 作用范围
- Android与服务器通信的方法之一(TCP)
- VC6.0中控件及按钮的设置和使用
- 【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法