Java物件導向查詢(英語:Java Object Oriented Querying,縮寫:JOOQ),是一個輕量級的JAVA資料庫映射類庫。它實現了Active Record,同時面向「關係」和「對象」提供領域特定語言以構造查詢語句。
編程範式
jOOQ主張,在任何資料庫集成中,都應首先考慮發揮SQL的作用。這樣一來,就不必再引入新的查詢語言,而只是通過jOOQ對象以及依照資料庫架構自動生成的代碼來創建普通的SQL。jOOQ通過JDBC來完成底層的SQL查詢。 與諸如Hibernate等通常ORM類庫不同的是,jOOQ並不提供過多的功能,複雜性也不高,它只是提供了JDBC之上更便捷的抽象層封裝而已。
代碼範例
嵌套查詢一個起了別名的表
-- 选取已售罄书籍的作者
SELECT * FROM AUTHOR a
WHERE EXISTS (SELECT 1
FROM BOOK
WHERE BOOK.STATUS = 'SOLD OUT'
AND BOOK.AUTHOR_ID = a.ID);
等價的jOOQ
// 在Select语句中使用别名
create.selectFrom(AUTHOR.as("a"))
.where(exists(selectOne()
.from(BOOK)
.where(BOOK.STATUS.equal(BOOK_STATUS.SOLD_OUT))
.and(BOOK.AUTHOR_ID.equal(a.ID))));
詳見
- Hibernate
- MyBatis
- Ebean
- 對象關係映射軟體列表
- SQL
- ObjectiveSQL
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.