What jOOQ.x helps
Overview
jooqx
Provide uniform API for among
-
Vertx Reactive SQL client
-
Vertx Legacy SQL client
jooqx
supports:
-
Lightweight and SPI
-
Typesafe
-
Native
jOOQ DSL
API -
Any database with
JDBC
driver and combine with legacy SQL -
Any database with
Vert.x reactive client
(JDBCPool
isreactive JDBC driver
so almost databases should work properly) -
JsonObject record
-
Row/record transformation to
jOOQ
record -
A unified format for
exception
and able to replace/integrate seamlessly by your current application exception -
CRUD
with prepared query byjOOQ DSL
-
SQL Complex query with typesafe such as
join
,with
,having to
, etc -
SQL Batch insert/update/merge
-
SQL Transaction
-
Nested transaction (not yet tested, but API is available)
-
Transaction rollback condition
-
Transaction annotation
-
-
Procedure & Function
-
DAO
-
Resource Query Language (RQL) by rsql-jooq
-
Rxified API
-
Rx2
-
Rx3
-
Mutiny
-
-
Row streaming
-
Publish/subscribe
-
Observability
-
Polyglot API:
kotlin
,groovy
-
Test fixtures API to easy setup test for your application testing or produce a minimum reproducer
Short Note
Might you know, vertx-jooq is another library for vert.x
and jOOQ
integration was started in a longtime ago.
I already used it, too. However, in a while I realized it doesn’t meet my requirements for dynamic SQL.
Also, this library is narrow a power of jOOQ DSL
and SQL feature likes paging
, batch
, transaction
, complex query with join/having/group
, etc. It is quite hard to extend due to mostly depends on Data Access Object (DAO)
pattern, and the generation time.
Always have a different way to make it better, then I made this library to bring jOOQ DSL
is first citizen and seamlessly combined with Vert.x SQL client
.