為了儲存、組織和擷取資料,大多數應用程式均使用關聯式資料庫。J2EE 應用程式透過 JDBC API 存取關聯式資料庫。
JDBC 資源 (資料源) 為應用程式提供連線至資料庫的方法。通常,管理員要為部署在網域中的應用程式存取的每個資料庫建立 JDBC 資源。(但是,可以為一個資料庫建立多個 JDBC 資源。)
若要建立 JDBC 資源,請指定識別資源的專屬 JNDI 名稱。(請參閱「JNDI 名稱和資源」一節。)JDBC 資源的 JNDI 名稱應在 java:comp/env/jdbc 子環境中 。例如,薪水帳單資料庫資源的 JNDI 名稱可為 java:comp/env/jdbc/payrolldb。由於所有資源 JNDI 名稱均在 java:comp/env 子環境中,因此在 管理主控台 中指定 JDBC 資源的 JNDI 名稱時,僅需輸入 jdbc/name。例如,對於薪水帳單資料庫,可指定 jdbc/payrolldb。
若要建立 JDBC 資源,請指定與其關聯的連線池。多個 JDBC 資源可指定單一連線池。
JDBC 連線池是針對特定資料庫的一組可重複使用的連線。由於每建立一個新的實體連線都會耗費時間,因此伺服器維護了可用連線池以提高效能。當應用程式請求連線時,它可以從池中取得一個連線。應用程式關閉連線時,連線將傳回池中。
連線池的特性可能會隨資料庫供應商的不同而有所不同。某些特性是通用的,例如資料庫名稱 (URL)、使用者名稱和密碼。
為了儲存、組織和擷取資料,大多數應用程式均使用關聯式資料庫。J2EE 應用程式透過 JDBC API 存取關聯式資料庫。應用程式存取資料庫之前,必須先取得連線。
以下是在執行階段應用程式連線至資料庫時所發生的情況:
應用程式透過 JNDI API 進行呼叫以獲取與資料庫關聯的 JDBC 資源 (資料源)。
如果給定了資源的 JNDI 名稱,命名和目錄服務將查找 JDBC 資源。每個 JDBC 資源指定一個連線池。
通過 JDBC 資源,應用程式獲得一個資料庫連線。
應用程式伺服器秘密地從與該資料庫相對應的連線池中擷取實體連線。池定義資料庫名稱 (URL)、使用者名稱和密碼等連線屬性。
由於已將應用程式連線至資料庫,因此該應用程式可以讀取和修改資料庫中的資料以及將資料增加到資料庫中。
應用程式透過對 JDBC API 進行呼叫來存取資料庫。JDBC 驅動程式可將應用程式的 JDBC 呼叫翻譯為資料庫伺服器的協定。
存取資料庫完成之後,應用程式將關閉該連線。
應用程式伺服器將連線傳回連線池。連線傳回連線池之後,下一個應用程式便可以使用該連線。