jooq

  • 데이터베이스 인터페이스란?

    데이터베이스와의 통신을 추상화하고 단순화하여 개발자가 데이터베이스와스 상호작용을 쉽게 할 수 있도록 도와줌. application layer에서 작성한 open SQL 혹은 native SQL을 database layer 데이터베이스에 접근하여 데이터를 읽어오기 위해 사용되는 추상화 인터페이스.

  • jooq란?

    • java로 SQL 쿼리를 짤 수 있는 데이터베이스 인터페이스로 데이터베이스 테이블과 자바 객체간의 매핑을 지원함.

    • 자바 기반의 데이터베이스 쿼리 빌더

      • 데이터베이스 쿼리 빌더 : 데이터베이스 쿼리를 동적으로 생성하는 데 사용되는 도구나 라이브러리

  • dslContext란?

    • SQL을 작성 및 실행하기 위한 메서드들을 정의한 인터페이스

    • jooq의 DSL을 사용하여 SQL을 생성 혹은 native SQL 작성 가능

    • transaction 메서드를 호출하여 트랜잭션 관리 가능

  • jooq 특징

    • java 코드 기반의 config 제공

    • DB 스키마를 읽어 도메인 클래스 생성

    • type-safe : compile단계에서의 type checking

    • jooq의 dsl을 이용하여 코드작성

      • → 일관성 유지, 가독상 향상

      • DBMS마다 SQL dialect가 다르지만 dsl을 이용해 다양한 DBMS 사용 가능

    • code-generator :

      • db 스캔을 통해 tables, records, sequences, POJOs, DAOs, stored procedures, user-defined types 등 class 생성

Q. jooq로 작성한 native sql은 그냥 sql과 어떤 차이?

Q. jooq와 queryDsl의 차이?

Last updated