dbcp、c3p0 數據庫連接池解釋

dbcp、c3p0 是兩個數據庫連接池 這兩個連接池都是Hibernate建議使用的連接池 DBCP是一個依賴Jakarta commons-pool對象池機制的數據庫連接池,Tomcat的數據源使用的就是DBCP。 C3P0是一個開放源代碼的JDBC連接池,它在lib目錄中與Hibernate一起發佈,包括了實現jdbc3和jdbc2擴展規範說明的Connection 和Statement 池的DataSources 對象。 JNDI(Java Naming and Directory Interface)是SUN公司提供的一種標準的Java命名系統接口,JNDI提供統一的客戶端API,通過不同的訪問提供者接口JNDI SPI的實現,由管理者將JNDI API映射爲特定的命名服務和目錄系統,使得Java應用程序可以和這些命名服務和目錄服務之間進行交互。 JNDI與JDBC:   JNDI提供了一種統一的方式,可以用在網絡上查找和訪問服務。通過指定一個資源名稱,該名稱對應於數據庫或命名服務中的一個紀錄,同時返回數據庫連接建立所必須的信息。 參考資料:   http://java.sun.com/products/jndi/examples.html   http://java.sun.com/products/jndi/serviceproviders.html 常用的JNDI操作:   void bind(String sName,Object object);――綁定:把名稱同對象關聯的過程   void rebind(String sName,Object object);――重新綁定:用來把對象同一個已經存在的名稱重新綁定   void unbind(String sName);――釋放:用來把對象從目錄中釋放出來   void lookup(String sName,Object object);――查找:返回目錄總的一個對象   void rename(String sOldName,String sNewName);――重命名:用來修改對象名稱綁定的名稱   NamingEnumeration listBinding(String sName);――清單:返回綁定在特定上下文中對象的清單列表   NamingEnumeration list(String sName);   代碼示例:重新得到了名稱、類名和綁定對象。   NamingEnumeration namEnumList = ctxt.listBinding("cntxtName");   ...   while ( namEnumList.hasMore() ) {   Binding bnd = (Binding) namEnumList.next();   String sObjName = bnd.getName();   String sClassName = bnd.getClassName();   SomeObject objLocal = (SomeObject) bnd.getObject();   }
發佈了72 篇原創文章 · 獲贊 4 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章