跳到主要內容

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

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

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

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

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

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

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