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層進行操作。
    借用網上的一張圖,算了還是自己畫一張吧,加深印象:

 
 
 
 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM