更新時(shí)間:2022-01-06 09:58:46 來源:動力節(jié)點(diǎn) 瀏覽953次
為了存儲、組織和檢索數(shù)據(jù),大多數(shù)應(yīng)用程序使用關(guān)系數(shù)據(jù)庫。J2EE 應(yīng)用程序通過 JDBC API 訪問關(guān)系數(shù)據(jù)庫。
JDBC 資源(數(shù)據(jù)源)為應(yīng)用程序提供了一種連接到數(shù)據(jù)庫的方法。通常,管理員為域中部署的應(yīng)用程序訪問的每個(gè)數(shù)據(jù)庫創(chuàng)建一個(gè) JDBC 資源。(但是,可以為一個(gè)數(shù)據(jù)庫創(chuàng)建多個(gè) JDBC 資源。)
要創(chuàng)建 JDBC 資源,請指定一個(gè)唯一的 JNDI 名稱來標(biāo)識該資源。期望在java:comp/env/jdbc子上下文中找到 JDBC 資源的 JNDI 名稱。例如,工資數(shù)據(jù)庫資源的 JNDI 名稱可以是java:comp/env/jdbc/payrolldb。由于所有資源 JNDI 名稱都在java:comp/env子上下文中,因此在管理控制臺中指定 JDBC 資源的 JNDI 名稱時(shí),僅輸入jdbc/ name。例如,對于工資數(shù)據(jù)庫,請指定jdbc/payrolldb。
要創(chuàng)建 JDBC 資源,請指定與其關(guān)聯(lián)的連接池。多個(gè) JDBC 資源可以指定一個(gè)連接池。
JDBC 連接池是特定數(shù)據(jù)庫的一組可重用連接。由于創(chuàng)建每個(gè)新的物理連接都非常耗時(shí),因此服務(wù)器會維護(hù)一個(gè)可用連接池以提高性能。當(dāng)應(yīng)用程序請求連接時(shí),它會從池中獲取一個(gè)連接。當(dāng)應(yīng)用程序關(guān)閉連接時(shí),該連接將返回到池中。
連接池的屬性可能因不同的數(shù)據(jù)庫供應(yīng)商而異。一些常見的屬性是數(shù)據(jù)庫的名稱 (URL)、用戶名和密碼。
為了存儲、組織和檢索數(shù)據(jù),大多數(shù)應(yīng)用程序使用關(guān)系數(shù)據(jù)庫。J2EE 應(yīng)用程序通過 JDBC API 訪問關(guān)系數(shù)據(jù)庫。在應(yīng)用程序可以訪問數(shù)據(jù)庫之前,它必須獲得一個(gè)連接。
在運(yùn)行時(shí),當(dāng)應(yīng)用程序連接到數(shù)據(jù)庫時(shí)會發(fā)生以下情況:
1.應(yīng)用程序通過 JNDI API 進(jìn)行調(diào)用來獲取與數(shù)據(jù)庫關(guān)聯(lián)的 JDBC 資源(數(shù)據(jù)源)。給定資源的 JNDI 名稱,命名和目錄服務(wù)將定位 JDBC 資源。每個(gè) JDBC 資源指定一個(gè)連接池。
2.通過 JDBC 資源,應(yīng)用程序獲得數(shù)據(jù)庫連接。在后臺,應(yīng)用服務(wù)器從與數(shù)據(jù)庫對應(yīng)的連接池中檢索物理連接。該池定義了連接屬性,例如數(shù)據(jù)庫名稱 (URL)、用戶名和密碼。
3.現(xiàn)在它已連接到數(shù)據(jù)庫,應(yīng)用程序可以讀取、修改和向數(shù)據(jù)庫添加數(shù)據(jù)。應(yīng)用程序通過調(diào)用 JDBC API 來訪問數(shù)據(jù)庫。JDBC 驅(qū)動程序?qū)?yīng)用程序的 JDBC 調(diào)用轉(zhuǎn)換為數(shù)據(jù)庫服務(wù)器的協(xié)議。
4.當(dāng)它完成訪問數(shù)據(jù)庫時(shí),應(yīng)用程序關(guān)閉連接。應(yīng)用服務(wù)器將連接返回到連接池。一旦它回到池中,該連接就可用于下一個(gè)應(yīng)用程序。
以上就是關(guān)于“JDBC連接池的簡介”,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程從入門到精通,細(xì)致全面,由淺到深,適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。
初級 202925
初級 203221
初級 202629
初級 203743