面向Java對象查詢

維基百科,自由的百科全書
jOOQ
開發者Data Geekery GmbH
程式語言Java
作業系統跨平台
平台Java
類型對象關係映射
許可協議Dual-licensed: ASL 2.0 and commercial
網站http://www.jooq.org

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))));

詳見[編輯]

外部連結[編輯]