促銷活動
學習
Adesua ahorow
任務
問卷及小測驗
遊戲
幫助
學習提醒時程表
社群
使用者
論壇
聊天
文章
成功故事
活動
評論
訂閱
亮色主題
課堂
評論
關於我們
開始
開始學習
現在就開始學習
Me Nkɔso
Adesua ahorow
探索地圖
課堂
等級 16
標準API
SQL & Hibernate
等級 16,
課堂 0
Criteria API 簡介 在 Hibernate 中有兩種寫數據庫查詢的方法: 休眠查詢語言 標準API 您很久以前就已經遇到過第一個,是時候熟悉 Criteria API 了。這是一個非常強大的工具,在某些時候它甚至比 HQL 更受歡迎。現在它不再那麼流行了,但對於某些任務來說,它肯定是比 HQL 更好的解決方案。 無論如何,不熟悉 Criteria API 就無法學習 Hibernate。我們先寫一個小例子,然後我們來分析。例如,我們會從數據庫中請求所有員工(Emp
標準 API 第 2 部分
SQL & Hibernate
等級 16,
課堂 1
分組和聚合函數 您已經了解瞭如何向 Criteria API 發出簡單請求。讓我們看看如何進行更複雜的查詢。 例如,我們要編寫一個查詢來確定一家公司的員工人數。下面是它在 HQL 中的樣子: select count(*) from Employee 在 Criteria API 上像這樣: CriteriaQuery critQuery = builder.createQuery(Long.class);
本機查詢
SQL & Hibernate
等級 16,
課堂 2
3.1 簡介 我想談的另一個有用的東西是NativeQuery。如您所知,使用 NativeQuery,您可以使用本機 SQL 編寫查詢。然而,更有趣的是,您不必在獲取查詢結果時使用類映射。 我寧願給你看一個例子: List persons = session.createNativeQuery("SELECT * FROM Person").list();
交易
SQL & Hibernate
等級 16,
課堂 3
4.1 Hibernate 中的事務介紹 對於以上所有內容,我想添加有關交易的信息。如您所知,事務是一組必須一起執行的操作。如果任何操作失敗或執行出錯,則必須取消所有其他操作。 Hibernate 能夠處理兩種類型的事務: JDBC JTA JDBC 事務實際上是數據庫事務。它與使用數據庫、JDBC 連接相關聯。並且他確保使用數據庫時的操作按應有的方式執行:要么全部執行,要么什麼都不執行。 JTA - 事務是應用程序級別的事務。它不綁定到任何數據庫。它的任務是確保執行某些操作
道
SQL & Hibernate
等級 16,
課堂 4
DAO簡介 當通過 JDBC 甚至通過 Hibernate 使用數據庫時,代碼往往比我們想要的更麻煩。數據庫查詢通常包含: 數據驗證 設置請求參數 根據查詢參數選擇 HQL 查詢 使用 Criteria API 構建查詢 緩存設置 初始錯誤處理等 因此,通常的做法是創建特殊的類來處理數據庫。這樣的類稱為 DAO,數據訪問對象。他們的任務是隱藏使用數據庫的所有復雜性,並為外部提供一個美觀方便的接口。 例子: public class EmployeeDAO {
關於 Hibernate 的有用的細微差別
SQL & Hibernate
等級 16,
課堂 5
同時與兩個基地合作 很多時候,您需要同時處理兩個基地。例如,您從一個數據庫讀取數據,對其進行處理並將其寫入另一個數據庫。 或者更常見。您的應用程序有一個本地數據庫可以使用,也可以從支持 SQL 數據查詢格式的各種遠程源讀取數據。例如 Excel。 對於這些遠程數據源,自定義 Hibernate 映射非常有用,這樣應用程序的業務邏輯就可以更簡單並且只使用 Java 對象。 最簡單的方法是擁有多個配置文件。例如,像這樣: hibernate_oracle.cfg.xml
測試 Hibernate 代碼
SQL & Hibernate
等級 16,
課堂 6
基於內存和測試 現在是最有趣的。在測試 Hibernate 代碼時,通常您不想使用真正的基礎,而是使用某種實現最少功能的存根。 您能想像一個實現大部分 SQL Server 標準的存根嗎?我沒有。但是,內存數據庫本身就非常出色。它的工作原理大致是這樣的: 在@BeforeAll 方法中,我們初始化內存中的數據庫連接。 在@BeforeEach 方法中,我們獲取會話並打開一個事務。 在@Test 方法中,我們使用當前會話和事務。 在@AfterEach 方法中,我們提交事務。
Please enable JavaScript to continue using this application.