好
影片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 的集成,並提供自動化的數據存取層實現。