jooq 生成数据库_jOOQ类型安全数据库查询教程
jooq 生成數據庫
課程大綱
SQL是用于關系數據庫查詢的功能強大且表達能力強的語言。 SQL已建立,標準化并且幾乎不受其他查詢語言的挑戰。 但是,在Java生態系統中,自JDBC以來,幾乎沒有采取任何相關措施來更好地將SQL集成到Java中。 在更高層次上,所有關注都集中在對象關系映射和語言抽象上,例如OQL,HQL,JPQL,CriteriaQuery。 同時,這些抽象已經變得幾乎和SQL本身一樣復雜,無論它們給無法修補生成SQL的DBA帶來的麻煩是什么。 jOOQ是雙重許可的開源產品,填補了這一空白。 它在Java中將SQL本身實現為內部特定于域的語言,從而允許類型安全的構造和執行任意復雜度SQL語句。 其中包括嵌套選擇,派生表,聯接,半聯接,反聯接,自聯接,別名以及許多特定于供應商的擴展,例如存儲過程,數組,用戶定義的類型,遞歸SQL,分組集,數據透視表,窗口函數和許多其他OLAP功能。 jOOQ還包括一個源代碼生成器,使您可以非常高效地在諸如Eclipse之類的現代IDE中編譯查詢。
在SQL和特定關系數據庫很重要的Java應用程序中,jOOQ是一個不錯的選擇。 當JPA / Hibernate抽象過多而JDBC過于抽象時,這是一種替代方法。 它顯示了一種現代的領域特定語言如何可以極大地提高開發人員的生產率,從而將SQL內部化為Java。 在本課程中,我們將看到如何使用jOOQ有效地查詢數據庫。
關于作者
Lukas是位于瑞士蘇黎世的Data Geekery GmbH的創始人兼首席執行官。 自2013年以來,Data Geekery一直在銷售圍繞Java和SQL的數據庫產品和服務。
自2006年在EPFL攻讀碩士學位以來,Lukas著迷于Java和SQL的交互。 他通過各種變體(JDBC,Hibernate,主要是Oracle)在瑞士電子銀行領域獲得的大部分經驗。 他在各種會議,JUG,內部演示和公司博客上分享他的知識。
經驗教訓
在本課程中,我們將討論如何通過創建示例項目來入門jOOQ,H2和Maven。
jOOQ是一種DSL(領域特定語言),它模仿Java API中的標準和特定于供應商SQL語法。 作為內部DSL,Java編譯器可以驗證您SQL查詢的語法正確性(例如,SQL關鍵字的正確順序)。 使用表和列作為生成的Java對象,編譯器還可以驗證元數據的正確性(例如,正確的列名和類型)。 在本課程中,我們將深入研究jOOQ DSL,并使用謂詞,語句和構建表達式。
在本課程中,我們將了解如何對Active Records執行CRUD。 編寫CRUD既無聊又重復,這就是為什么像Hibernate這樣的ORM出現并成功提高開發人員生產力的原因。 但是,當您經常只想對表中的單個記錄進行操作時,Hibernate對您的體系結構進行了許多假設(和限制)。 jOOQ知道“活動記錄”或UpdatableRecords,可以將其裝入“特殊”種類的SELECT語句,然后在內部跟蹤臟標志。 我們將學習如何執行簡單的活動記錄操作以及如何使用樂觀鎖定。
在本課程中,我們將比較jOOQ與JDBC。 JDBC通常因冗長而受到批評。 JDBC也因選擇了錯誤的“默認值”而受到批評,例如,默認的結果集的延遲實現。 我們將看到jOOQ如何改進對檢查異常,結果集,Prepared語句和帶有結果集的語句的批評。
在本課程中,我們將學習生命周期管理對象如何與jOOQ交互。 有多種SPI(服務提供商接口),可用于管理jOOQ中各種實體的生命周期。 可以通過配置對象注入這些SPI。 我們將看到如何使用ConnectionProvider,在特定SQLDialect上下文中jOOQ如何生成和執行SQL語句,以及如何使用Settings為jOOQ提供有關常規查詢呈現和執行行為的信息。
請確保轉發此消息,讓您的社交粉絲知道!
#jOOQ類型安全數據庫查詢教程-免費超級課程http://t.co/9oL05sABTn pic.twitter.com/CJEd6NPB2h
— Java Code Geeks(@javacodegeeks) ,2015年10月16日
翻譯自: https://www.javacodegeeks.com/2015/09/jooq-type-safe-db-querying.html
jooq 生成數據庫
總結
以上是生活随笔為你收集整理的jooq 生成数据库_jOOQ类型安全数据库查询教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美图手机投射功能在哪_在Java 8中进
- 下一篇: f5刷新攻击(f5ddos攻击)