"자바객체지향쿼링 jOOQ"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;Java Object Oriented Querying; jOOQ
;Java Object Oriented Querying (jOOQ)
;자바 객체지향 쿼링
;자바 객체지향 쿼링, 자바 객체지향 쿼리
* 자바용 경량 ORM 라이브러리
* 자바용 경량 ORM 라이브러리, [[쿼리 빌더]]
* [[액티브 레코드 패턴]]
* [[액티브 레코드 패턴]]
{{검은배경|http://www.jooq.org/img/jooq-logo-white.png}}


==예시==
==예시==
*SQL
*SQL
<source lang='sql'>
<syntaxhighlight lang='sql'>
   -- 매진된 책의 저자 선택
   -- 매진된 책의 저자 선택
   SELECT * FROM AUTHOR a
   SELECT * FROM AUTHOR a
14번째 줄: 16번째 줄:
                   WHERE BOOK.STATUS = 'SOLD OUT'
                   WHERE BOOK.STATUS = 'SOLD OUT'
                     AND BOOK.AUTHOR_ID = a.ID);
                     AND BOOK.AUTHOR_ID = a.ID);
</source>
</syntaxhighlight>
* jOOQ DSL #1
* jOOQ DSL #1
<source lang='java'>
<syntaxhighlight lang='java'>
   create.selectFrom(table("AUTHOR").as("a"))
   create.selectFrom(table("AUTHOR").as("a"))
         .where(exists(selectOne()
         .where(exists(selectOne()
22번째 줄: 24번째 줄:
                     .where(field("BOOK.STATUS").equal(field("BOOK_STATUS.SOLD_OUT")))
                     .where(field("BOOK.STATUS").equal(field("BOOK_STATUS.SOLD_OUT")))
                     .and(field("BOOK.AUTHOR_ID").equal(field("AUTHOR.ID")))));
                     .and(field("BOOK.AUTHOR_ID").equal(field("AUTHOR.ID")))));
</source>
</syntaxhighlight>
* jOOQ DSL #2
* jOOQ DSL #2
<source lang='java'>
<syntaxhighlight lang='java'>
   final Author a = AUTHOR.as("a");
   final Author a = AUTHOR.as("a");


32번째 줄: 34번째 줄:
                     .where(BOOK.STATUS.equal(BOOK_STATUS.SOLD_OUT))
                     .where(BOOK.STATUS.equal(BOOK_STATUS.SOLD_OUT))
                     .and(BOOK.AUTHOR_ID.equal(a.ID))));
                     .and(BOOK.AUTHOR_ID.equal(a.ID))));
</source>
</syntaxhighlight>


== 같이 보기==
== 같이 보기==
* [[SQL/OLB]]
* [[SQL/OLB]]
* [[ORM]]
* [[ORM]]
* [[스프링부트 SQL]]


==참고 자료==
==참고==
* http://www.jooq.org/
* http://www.jooq.org/
* https://en.wikipedia.org/wiki/Java_Object_Oriented_Querying
* https://en.wikipedia.org/wiki/Java_Object_Oriented_Querying


[[분류: Java]]
[[분류: Java]]
[[분류: 쿼리 빌더]]

2024년 6월 5일 (수) 02:04 기준 최신판

1 개요[ | ]

Java Object Oriented Querying (jOOQ)
자바 객체지향 쿼링, 자바 객체지향 쿼리
 

2 예시[ | ]

  • SQL
  -- 매진된 책의 저자 선택
  SELECT * FROM AUTHOR a
        WHERE EXISTS (SELECT 1
                   FROM BOOK
                  WHERE BOOK.STATUS = 'SOLD OUT'
                    AND BOOK.AUTHOR_ID = a.ID);
  • jOOQ DSL #1
  create.selectFrom(table("AUTHOR").as("a"))
        .where(exists(selectOne()
                     .from(table("BOOK"))
                     .where(field("BOOK.STATUS").equal(field("BOOK_STATUS.SOLD_OUT")))
                     .and(field("BOOK.AUTHOR_ID").equal(field("AUTHOR.ID")))));
  • jOOQ DSL #2
  final Author a = AUTHOR.as("a");

  create.selectFrom(a)
        .where(exists(selectOne()
                     .from(BOOK)
                     .where(BOOK.STATUS.equal(BOOK_STATUS.SOLD_OUT))
                     .and(BOOK.AUTHOR_ID.equal(a.ID))));

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}