31.6 jOOQ 사용하기
Java Object Oriented Querying ( jOOQ )은 데이터베이스에서 Java 코드를 생성하고 유창한 API를 통해 유형 안전 SQL 쿼리를 작성할 수있게 해주는 Data Geekery 에서 널리 사용되는 제품입니다 . 상용 및 오픈 소스 에디션 모두 Spring Boot와 함께 사용할 수 있습니다.
31.6.1 코드 생성
jOOQ 타입 안전 질의를 사용하려면 데이터베이스 스키마에서 Java 클래스를 생성해야한다. jOOQ 사용자 설명서의 지침을 따를 수 있습니다. jooq-codegen-maven
플러그인을 사용하고 spring-boot-starter-parent
"parent POM"도 사용하는 경우 안전하게 플러그인의 태그를 생략 할 수 있습니다. Spring 부트 정의 버전 변수 (예 : hh2.version
)를 사용하여 플러그인의 데이터베이스 종속성을 선언 할 수도 있습니다. 다음 목록은 예제를 보여줍니다.
31.6.2 DSLContext 사용
jOOQ가 제공하는 유창한 API는 org.jooq.DSLContext
인터페이스를 통해 시작됩니다. Spring Boot는 DSLContext를 Spring Bean으로 자동 구성하고이를 응용 프로그램 DataSource
에 연결합니다. DSLContext
를 사용하려면 다음 예제와 같이 @Autowire
를 사용할 수 있습니다.
jOOQ 매뉴얼은 |
그런 다음에 DSLContext
를 사용하여 다음 예제와 같이 쿼리를 구성 할 수 있습니다 .
31.6.3 jOOQ SQL Dialect
spring.jooq.sql-dialect
속성이 구성되어 있지 않으면 Spring Boot가 데이터 소스에 사용할 SQL 언어를 결정합니다. 스프링 부트가 방언을 탐지하지 못하면 DEFAULT
를 사용합니다.
스프링 부트는 오픈 소스 버전의 jOOQ가 지원하는 dialects 만 자동 구성 할 수 있습니다. |
31.6.4 jOOQ 커스터마이징
jooQ Configuration
이 생성 될 때 사용되는 @Bean
정의를 정의하여 더 많은 고급 사용자 정의를 구현할 수 있습니다. 다음 jOOQ 유형에 대해 bean을 정의 할 수 있습니다.
ConnectionProvider
ExecutorProvider
TransactionProvider
RecordMapperProvider
RecordUnmapperProvider
RecordListenerProvider
ExecuteListenerProvider
VisitListenerProvider
TransactionListenerProvider
또한 jOOQ 설정을 완벽하게 제어하려면org.jooq.Configuration @Bean
을 직접 생성 할 수 있습니다.
Last updated