jdbc、Connection pool、jndi的理解和关系

一、概念和理解:

①.jdbcJava Data Base Connectivity,java数据库连接,最为传统的一种方式,直接连接操作数据库,需要连接时创建连接,使用结束时销毁连接。

②.Connection pool:连接池,连接池的出现是由于传统的jdbc连接,在请求量比较大的情况下将频繁的创建、销毁连接,然而这里有两个问题:
    1. 创建、销毁连接本身是比较耗费系统资源的一种操作。
    2.数据库的连接是有固定的数量的,这种资源是比较昂贵的。
③.jndi:java naming and directory interface,java命名目录接口,是sun公司提出的一种标准的java命名接口。提供客户端接口api,可以使开发者不必关心数据库的username、password、driver等等都是什么,而是通过API接口直接调用。说白了就是使用xml配置服务器全局共用的数据源,开发者通过接口直接来调取使用。多说一句,理解jndi可以和理解servlet-api.jar、jsp-api.jar一样,Sun公司只是提供一个接口规范,具体实现由服务器来实现。比如:使用tomcat就由tomcat来实现这个接口,使用jboss就由jboss来实现这个接口。
 
二、关系定位
那么他们三者之间的关系是什么呢?
    jndi是一个树结构,树上绑定了很多dataSource,这些dataSource用来和连接池交互,可以理解为Connection pool的上层结构。
    Connection pool则用来维护管理固定数量的连接,直接和db层进行操作。
    借用网上的一张图,算了还是自己画一张吧,加深印象:

 
 
 
 





转载于:https://www.cnblogs.com/douJiangYouTiao888/p/6473972.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值