JDBC 教程

歡迎來到JDBC教程。Java DataBase Connectivity(JDBC)是企業應用中最廣泛使用的API之一。這是因為大多數應用程序都使用某種類型的數據庫連接。我最近發布了很多與基本JDBC、數據源以及與Spring框架的集成相關的JDBC教程。

JDBC教程

這是我之前發布的所有JDBC教程的索引帖子。如果您對JDBC不熟悉,那麼您應該按照這些JDBC教程進行學習,以便更好地理解。

  1. JDBC示例 JDBC API幫助我們從數據庫驅動程序中編寫鬆散耦合的代碼。本文介紹了不同類型的數據庫驅動程序,以及哪一種是最常用的以及為什麼。這是一篇很好的文章,可以開始學習有關數據庫連接、語句和結果集的知識。它們如何共同工作以執行特定的數據庫操作。本文還向您展示了如何編寫JDBC程序,使其與數據庫驅動程序解耦,這有助於通過僅進行配置更改輕鬆切換到另一個數據庫服務器。
  2. JDBC Statement vs PreparedStatement JDBC API 提供了兩種與數據庫通信的方式 – StatementPreparedStatement。Statement 使用起來簡單,但可能會導致 SQL 注入,這是入侵任何應用程序的常見方式。本文清楚地展示了如何使用 SQL Statements 進行 SQL 注入,以及為什麼我們應該使用 PreparedStatement 來避免 SQL 注入攻擊。本文進一步解釋了使用 PreparedStatement 而不是 Statement 所獲得的一些主要好處,如緩存、面向對象編程和代碼外觀優雅等方面。
  3. JDBC PreparedStatement IN Clause Alternatives 由於 JDBC PreparedStatement 是預編譯的,我們無法將其與 IN 子句一起使用。與其返回到 Statement,我們可以使用一些替代方法來克服 Prepared Statement 的這些缺點。本文提供了四種不同的替代方法,我們可以採取支持使用 prepared statements 的 IN 子句。您應該閱讀它,因為您永遠不知道何時會需要它,而且這也是與 JDBC 相關的最常問的面試問題之一。
  4. JDBC 批次處理 如果您正在處理大量數據並且必須執行許多查詢,逐個執行並不是一個好主意。JDBC 提供了批次處理支援,比逐個查詢執行要快得多。本文向您展示如何編寫批次處理程序。它進一步討論了如果批次中的一個查詢引發異常時應該怎麼辦。
  5. JDBC CallableStatement 示例 我們可以使用 JDBC API 的 CallableStatement 來執行存儲過程。Oracle Database 提供了我們可以在存儲過程中使用的游標和數據庫對象的 IN/OUT 參數。本教程提供了這些的具體細節以及示例程序。
  6. JDBC數據源示例 大多數時候,我們需要的不僅僅是數據庫連接。創建連接是一個耗時的過程,讓程序的每個部分都創建自己的連接並不是一個好主意。這可能導致資源匱乏和性能下降。這就是為什麼在大多數企業應用程序中使用連接池的原因。大多數數據庫驅動程序提供了可以在連接池中使用的數據源實現類。本教程提供了MySQL和Oracle數據源的示例以及如何使用它們。該文章還提供了有關Apache DBCP的詳細信息,它作為不同數據源實現的包裝器,實現了鬆耦合。
  7. JDBC事務管理 當我們有一組要執行的查詢並且希望確保它們全部執行或全部不執行時,事務管理就變得很重要。我們可以將連接的自動提交設置為false,以實現事務管理。如果一切順利,我們可以提交事務;如果有任何異常,我們可以回滾整個事務。它還解釋了我們可以使用的保存點(Savepoint),以便在事務中回滾到特定點。您可以將保存點視為事務中的里程碑。
  8. Tomcat JNDI DataSource Example 大多數的Servlet容器都支持JNDI資源用於DataSource,我們可以使用它來將事務管理和連接池任務卸載到容器中。本文介紹了在Apache Tomcat伺服器中配置DataSource的不同方式,並使用JNDI上下文查找來獲取DataSource並與其一起使用的方法。
  9. Spring JDBC和JdbcTemplate範例 本文詳細介紹了Spring框架與JDBC的整合。我們可以選擇使用標準的JDBC API,也可以享受Spring JdbcTemplate的好處,它可以幫助我們消除JDBC帶來的所有樣板代碼,例如開啟/關閉連接、語句、結果集等。
  10. Spring事務管理 Spring提供了內置的事務管理支持。事務管理是一個橫切關注點,Spring AOP方法與聲明式事務管理非常簡單優雅。一個示例項目解釋了Spring框架中用於JDBC操作的事務管理的不同方面。
  11. Spring DataSource JNDI 範例 Spring 框架非常受歡迎,因為它提供了大多數常見任務的基於配置的解決方案。這就是為什麼 Spring 框架提供了簡單的配置來查找 JNDI 上下文並獲取由 Servlet 容器定義的 DataSource。一個帶有 Spring MVC 範例項目的教程,向您展示如何輕鬆進行操作。
  12. JSF JDBC 整合範例 JSF 是最廣泛使用的基於組件的框架之一。本教程解釋了我們如何將 JDBC API 與 JSF 框架整合。
  13. JDBC 面試問題與答案 一個包含 40 個與 JDBC 相關的面試問題及詳細答案的集合,幫助您在 Java 面試中應對不同類型的 JDBC 問題。

I will be adding more posts in JDBC tutorial, so please bookmark the post for future reference too.

Source:
https://www.digitalocean.com/community/tutorials/jdbc-tutorial