日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jooq 生成数据库_jOOQ类型安全数据库查询教程

發(fā)布時(shí)間:2023/12/3 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jooq 生成数据库_jOOQ类型安全数据库查询教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

jooq 生成數(shù)據(jù)庫

課程大綱

SQL是用于關(guān)系數(shù)據(jù)庫查詢的功能強(qiáng)大且表達(dá)能力強(qiáng)的語言。 SQL已建立,標(biāo)準(zhǔn)化并且?guī)缀醪皇芷渌樵冋Z言的挑戰(zhàn)。 但是,在Java生態(tài)系統(tǒng)中,自JDBC以來,幾乎沒有采取任何相關(guān)措施來更好地將SQL集成到Java中。 在更高層次上,所有關(guān)注都集中在對(duì)象關(guān)系映射和語言抽象上,例如OQL,HQL,JPQL,CriteriaQuery。 同時(shí),這些抽象已經(jīng)變得幾乎和SQL本身一樣復(fù)雜,無論它們給無法修補(bǔ)生成SQL的DBA帶來的麻煩是什么。 jOOQ是雙重許可的開源產(chǎn)品,填補(bǔ)了這一空白。 它在Java中將SQL本身實(shí)現(xiàn)為內(nèi)部特定于域的語言,從而允許類型安全的構(gòu)造和執(zhí)行任意復(fù)雜度SQL語句。 其中包括嵌套選擇,派生表,聯(lián)接,半聯(lián)接,反聯(lián)接,自聯(lián)接,別名以及許多特定于供應(yīng)商的擴(kuò)展,例如存儲(chǔ)過程,數(shù)組,用戶定義的類型,遞歸SQL,分組集,數(shù)據(jù)透視表,窗口函數(shù)和許多其他OLAP功能。 jOOQ還包括一個(gè)源代碼生成器,使您可以非常高效地在諸如Eclipse之類的現(xiàn)代IDE中編譯查詢。

在SQL和特定關(guān)系數(shù)據(jù)庫很重要的Java應(yīng)用程序中,jOOQ是一個(gè)不錯(cuò)的選擇。 當(dāng)JPA / Hibernate抽象過多而JDBC過于抽象時(shí),這是一種替代方法。 它顯示了一種現(xiàn)代的領(lǐng)域特定語言如何可以極大地提高開發(fā)人員的生產(chǎn)率,從而將SQL內(nèi)部化為Java。 在本課程中,我們將看到如何使用jOOQ有效地查詢數(shù)據(jù)庫。

關(guān)于作者

Lukas是位于瑞士蘇黎世的Data Geekery GmbH的創(chuàng)始人兼首席執(zhí)行官。 自2013年以來,Data Geekery一直在銷售圍繞Java和SQL的數(shù)據(jù)庫產(chǎn)品和服務(wù)。

自2006年在EPFL攻讀碩士學(xué)位以來,Lukas著迷于Java和SQL的交互。 他通過各種變體(JDBC,Hibernate,主要是Oracle)在瑞士電子銀行領(lǐng)域獲得的大部分經(jīng)驗(yàn)。 他在各種會(huì)議,JUG,內(nèi)部演示和公司博客上分享他的知識(shí)。

經(jīng)驗(yàn)教訓(xùn)

在本課程中,我們將討論如何通過創(chuàng)建示例項(xiàng)目來入門jOOQ,H2和Maven。

jOOQ是一種DSL(領(lǐng)域特定語言),它模仿Java API中的標(biāo)準(zhǔn)和特定于供應(yīng)商SQL語法。 作為內(nèi)部DSL,Java編譯器可以驗(yàn)證您SQL查詢的語法正確性(例如,SQL關(guān)鍵字的正確順序)。 使用表和列作為生成的Java對(duì)象,編譯器還可以驗(yàn)證元數(shù)據(jù)的正確性(例如,正確的列名和類型)。 在本課程中,我們將深入研究jOOQ DSL,并使用謂詞,語句和構(gòu)建表達(dá)式。

在本課程中,我們將了解如何對(duì)Active Records執(zhí)行CRUD。 編寫CRUD既無聊又重復(fù),這就是為什么像Hibernate這樣的ORM出現(xiàn)并成功提高開發(fā)人員生產(chǎn)力的原因。 但是,當(dāng)您經(jīng)常只想對(duì)表中的單個(gè)記錄進(jìn)行操作時(shí),Hibernate對(duì)您的體系結(jié)構(gòu)進(jìn)行了許多假設(shè)(和限制)。 jOOQ知道“活動(dòng)記錄”或UpdatableRecords,可以將其裝入“特殊”種類的SELECT語句,然后在內(nèi)部跟蹤臟標(biāo)志。 我們將學(xué)習(xí)如何執(zhí)行簡單的活動(dòng)記錄操作以及如何使用樂觀鎖定。

在本課程中,我們將比較jOOQ與JDBC。 JDBC通常因冗長而受到批評(píng)。 JDBC也因選擇了錯(cuò)誤的“默認(rèn)值”而受到批評(píng),例如,默認(rèn)的結(jié)果集的延遲實(shí)現(xiàn)。 我們將看到j(luò)OOQ如何改進(jìn)對(duì)檢查異常,結(jié)果集,Prepared語句和帶有結(jié)果集的語句的批評(píng)。

在本課程中,我們將學(xué)習(xí)生命周期管理對(duì)象如何與jOOQ交互。 有多種SPI(服務(wù)提供商接口),可用于管理jOOQ中各種實(shí)體的生命周期。 可以通過配置對(duì)象注入這些SPI。 我們將看到如何使用ConnectionProvider,在特定SQLDialect上下文中jOOQ如何生成和執(zhí)行SQL語句,以及如何使用Settings為jOOQ提供有關(guān)常規(guī)查詢呈現(xiàn)和執(zhí)行行為的信息。

請確保轉(zhuǎn)發(fā)此消息,讓您的社交粉絲知道!

#jOOQ類型安全數(shù)據(jù)庫查詢教程-免費(fèi)超級(jí)課程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 生成數(shù)據(jù)庫

總結(jié)

以上是生活随笔為你收集整理的jooq 生成数据库_jOOQ类型安全数据库查询教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。