JDBC與JNDI區別

Java Database Connectivity (JDBC)是一個標準的Java API,它由一組類和接口組成,Java應用程序開發人員使用它來訪問數據庫和執行SQL語句 JNDI(Java Name Directory Interface),可不單單是進行數據庫定位的, 它是給當前應用服務器所管理的全部資源一個惟一的標識,包括數據庫,網頁,文件, 鏈接池等等。
 
 

在weblogic配置JDBC數據源的時候碰到JNDI這個徹底陌生的詞,就查了一下,簡單的理解下。java

JDBC:jdbc是數據庫中間代理商爲了是java鏈接數據庫而定的一個協議或者說是方法,是數據庫的接口,經過jdbc-odbc的方法進行數據庫鏈接,Java應用程序開發人員使用它來訪問數據庫和執行SQL語句程序員

JNDI:web

程序員熟悉java語言、瞭解JDBC技術和MySQL,就能夠很快開發出相應的應用程序。可是會遇到一、數據庫服務器名稱MyDBServer 、用戶名和口令均可能須要改變,由此引起JDBC URL須要修改;二、數據庫可能改用別的產品,如改用DB2或者oracle,引起JDBC驅動程序包和類名須要修改;三、隨着實際使用終端的增長,原配 置的鏈接池參數可能須要調整;等問題。解決辦法:程序員應該不須要關心「具體的數據庫後臺是什麼?JDBC驅動程序是什麼?JDBC URL格式是什麼?訪問數據庫的用戶名和口令是什麼?」等等這些問題,程序員編寫的程序應該沒有對 JDBC 驅動程序的引用,沒有服務器名稱,沒有用戶名稱或口令 —— 甚至沒有數據庫池或鏈接管理。而是把這些問題交給J2EE容器來配置和管理,程序員只須要對這些配置和管理進行引用便可。數據庫

由此,就有了JNDI.用了JNDI以後的作法:首先,在在J2EE容器中配置JNDI參數,定義一個數據源,也就是JDBC引用參數,給這個數據源設置一個名稱;而後,在程序中,經過數據源名稱引用數據源從而訪問後臺數據庫。服務器

相關文章
相關標籤/搜索