zoukankan      html  css  js  c++  java
  • 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层进行操作。
        借用网上的一张图,算了还是自己画一张吧,加深印象:

     
     
     
     





  • 相关阅读:
    AcWing 3772. 更新线路(BFS)
    AcWing 3760. 最大剩余油量(树的最长路径)
    AcWing 3771. 选取石子
    洛谷P2014—选课(树形DP)
    吴恩达机器学习ex1
    洛谷P1122—最大子树和(树形DP)
    论文中关于要使用600线的python代码
    mysql 笛卡尔积
    mysql 外键
    写参考文献有感
  • 原文地址:https://www.cnblogs.com/douJiangYouTiao888/p/6473972.html
Copyright © 2011-2022 走看看