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 DSLAPI -
Any database with
JDBCdriver and combine with legacy SQL -
Any database with
Vert.x reactive client(JDBCPoolisreactive JDBC driverso almost databases should work properly) -
JsonObject record
-
Row/record transformation to
jOOQrecord -
A unified format for
exceptionand able to replace/integrate seamlessly by your current application exception -
CRUDwith 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.