在開始前,首先需要先了解 Hibernate 和 JPA
Hibernate
Hibernate 是最受歡迎的 ORM 框架,那什麼是 ORM 呢?
Object/Relational Mapping(ORM)簡單的說就是將 Java 中物件與物件關係,映射至關聯式資料庫中表格與表格間關係,將內含資料物件儲存至關聯式資料庫。透過 JPA 標準定義介面可用於註解 Java 物件、使用查詢擷取物件與資料庫互動。
Hibernate 的主要功能就是從 Java 類到資料庫的資料表映射,以及從 Java 數據類型到 SQL 數據類型的映射。
利用 Hibernate 設計一個 interface 和 裡面的 method,再利用 DAO 層去Impl這些 method,使其可以操控資料庫。
何謂 DAO 呢?
DAO 框架讓你在進行資料庫存取時,無須接觸到與所使用特定資料庫的技術相關細節,DAO 的全名為 Data Access Object,在你的應用程式中,需要使用到資料存取時,是透過一個資料存取介面來操作,而實際上進行資料庫存取的物件要實作該介面。
JPA
全名:Java Persistence API
JPA 簡而言之,就是對 Hibernate 做更高階的封裝;相對於 Hibernate 來說,Hibernate 是一個實體,需要被實作出來,才能進行操作,反之 JPA 僅是一個接口,裡面皆有預設的 method 可以使用及操作,不需要實作。
所以 JPA 簡單來說就是擺脫了 DAO 層,讓基本的 CRUD 操作指令都可以使用,僅僅只需要一個介面即可。
接下來一步步介紹程式碼的部分吧~最後會有 sample 與 影片 作爲參考
第一步
先創造一個映射到資料表的相關類別(以下列出部分)
第二步
創造一個可以對應於這個類別的介面,並繼承JPA類別底下的CrudRepository
CrudRepository只包含對資料庫的基本操作(新增,修改,查詢,刪除)
以下是CrudRepository類別內已定義的相關method
第三步
簡單的寫一個接口去轉換接收的json,並儲存到資料庫中
這邊只簡單列出部分儲存到資料庫的code
第四步
指定你的MySQL資料庫位置(寫在application.properties內)
就完成了MySQL的儲存操作
至於使用查詢或是其他方法這些部分,有時間會在上來記錄