跳到主要內容

資料庫 JDBC API 與 JPA 簡介

  好


頻道需要你的支持,謝謝你成為我們的會員(加入會員)

影片1 安裝與連線 Derby 資料庫


影片2 JDBC API 應用



影片3 JPA簡介與專案建立



範例

一、JDBC

Java JDK 中,最常用於連線資料庫的 API 當屬 JDBC (Java Database Connectivity)。JDBC 提供了一組標準的介面和類別,讓 Java 開發人員能夠以統一的方式存取各種不同的關聯式資料庫。

1.  DataBase

Apache Derby 是輕量級嵌入式關係型資料庫,適合小型應用和測試環境。

l   用 NetBeans 操作 Apache Derby

l   用 Java JDK 11 JDBC 操作 Apache Derby

2.  JDBC 基本概念

l   Driver:  JDBC 驅動程式負責與特定資料庫建立連線、傳送 SQL 語句以及處理結果。不同的資料庫需要使用對應的驅動程式。

l   DataSource: 資料庫 URL、使用者名稱和密碼。

l   Connection: Connection 物件代表與資料庫的實際連線。

l   Statement: 用於將 SQL 敍述傳送到資料庫執行。JDBC 提供了三種型態:

n   Statement: 用於執行簡單的 SQL 敍述。

n   PreparedStatement: 用於執行預先編譯的 SQL 敍述,可以提高效能並防止 SQL injection。

n   CallableStatement: 用於執行預存程序。

l   ResultSet: ResultSet 物件是執行查詢後傳回的資料集合,可以逐筆讀取其中的資料。

3.  JDBC 常用 API

l   DriverManager: 用於註冊驅動程式和取得 Connection 物件。

l   Connection: 提供了許多方法來取得 Statement 物件與操作連線,例如:

n   createStatement(): 建立 Statement 物件。

n   prepareStatement(): 建立 PreparedStatement 物件。

n   prepareCall(): 建立 CallableStatement 物件。

n   setAutoCommit(): 設定是否自動提交。

n   commit(): 提交。

n   rollback() :回復。

n   close(): 關閉連線。

l   Statement: Statement 介面提供了執行 SQL 敍述的方法,例如:

n   execute(): 執行 SQL 敍述,並返回是否影響了資料庫。

n   executeQuery(): 執行查詢敍述,並返回 ResultSet物件。

n   executeUpdate(): 執行更新敍述,並返回受影響的資料列數。

n   close(): 關閉語句。

l   PreparedStatement: PreparedStatement 介面繼承自 Statement,提供了設定參數的方法,例如:

n   setParameter(): 設定指定索引位置的參數值。

l   CallableStatement: CallableStatement 介面繼承自PreparedStatement,用於執行預存程序。

l   ResultSet: ResultSet 介面提供了讀取 ResultSet物件中資料的方法,例如:

n   next(): 將游標移到下一筆資料。

n   getString(): 取得指定欄位的字串值。

n   getInt(): 取得指定欄位的整數值。

n   getDate(): 取得指定欄位的日期值。

n   close(): 關閉 ResultSet。

二、JPA

Java JPA(Java Persistence API)是一個 Java 規範,用於管理關聯式資料庫的數據持久化。它提供標準 API,使開發者可以用 Java 物件與資料庫互動,而不需要大量編寫 SQL 敍述。JPA 使用 ORM 技術將 Java 物件映射到資料庫中的資料表,簡化了操作。

以 Java JPA 為基礎,開發者可以利用多種第三方 API 來進行數據持久化和資料庫操作。其中一些常見的第三方 API 包括:

·         Hibernate:Hibernate 是一個成熟且廣泛使用的 ORM 框架,提供了豐富的功能來簡化 Java 對象與數據庫之間的映射和操作。

·         EclipseLink:這是由 Eclipse 基金會管理的 JPA 參考實現,提供高效的數據持久化和查詢功能。

·         Apache OpenJPA:由 Apache 軟件基金會開發的開源 JPA 實現,專注於性能和可伸縮性。

·         DataNucleus:這是一個支持多種數據存儲技術的 ORM 框架,不僅限於關係數據庫,還支持 NoSQL。

·         Spring Data JPA:由 Spring 框架提供的工具,簡化了與 JPA 的集成,並提供自動化的數據存取層實現。