{"id":13806572,"url":"https://github.com/zero88/jooqx","last_synced_at":"2025-10-23T15:30:40.302Z","repository":{"id":39711345,"uuid":"343665974","full_name":"zero88/jooqx","owner":"zero88","description":"Vert.x jOOQ DSL","archived":false,"fork":false,"pushed_at":"2025-01-23T14:00:18.000Z","size":6756,"stargazers_count":27,"open_issues_count":32,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T15:19:14.472Z","etag":null,"topics":["dsl","jooq","rql","vertx"],"latest_commit_sha":null,"homepage":"https://zero88.github.io/webdocs","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zero88.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-02T06:14:26.000Z","updated_at":"2024-11-01T11:12:12.000Z","dependencies_parsed_at":"2023-02-12T23:01:09.897Z","dependency_job_id":"bb2bb5a1-e84c-404e-ad9d-0333c3517f8a","html_url":"https://github.com/zero88/jooqx","commit_stats":null,"previous_names":["zero88/vertx-jooq-dsl"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero88%2Fjooqx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero88%2Fjooqx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero88%2Fjooqx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero88%2Fjooqx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zero88","download_url":"https://codeload.github.com/zero88/jooqx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236406094,"owners_count":19143667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dsl","jooq","rql","vertx"],"created_at":"2024-08-04T01:01:13.448Z","updated_at":"2025-10-23T15:30:34.898Z","avatar_url":"https://github.com/zero88.png","language":"Java","readme":"= jOOQ.x - Vertx jOOQ DSL\nzero88\n\nimage:https://github.com/zero88/jooqx/actions/workflows/jooqx.yml/badge.svg[jooqx,link=https://github.com/zero88/jooqx/actions/workflows/jooqx.yml]\nimage:https://img.shields.io/github/v/release/zero88/jooqx?sort=semver[GitHub release (latest SemVer)]\nimage:https://img.shields.io/nexus/r/io.github.zero88/jooqx?server=https%3A%2F%2Foss.sonatype.org[Sonatype Nexus (Releases)]\nimage:https://img.shields.io/nexus/s/io.github.zero88/jooqx?server=https%3A%2F%2Foss.sonatype.org[Sonatype Nexus (Snapshots)]\nimage:https://sonarcloud.io/api/project_badges/measure?project=zero88_jooqx\u0026metric=ncloc[Lines of Code,link=https://sonarcloud.io/dashboard?id=zero88_jooqx]\nimage:https://sonarcloud.io/api/project_badges/measure?project=zero88_jooqx\u0026metric=coverage[Coverage,link=https://sonarcloud.io/dashboard?id=zero88_jooqx]\nimage:https://sonarcloud.io/api/project_badges/measure?project=zero88_jooqx\u0026metric=sqale_rating[Maintainability Rating,link=https://sonarcloud.io/dashboard?id=zero88_jooqx]\nimage:https://sonarcloud.io/api/project_badges/measure?project=zero88_jooqx\u0026metric=reliability_rating[Reliability Rating,link=https://sonarcloud.io/dashboard?id=zero88_jooqx]\nimage:https://sonarcloud.io/api/project_badges/measure?project=zero88_jooqx\u0026metric=security_rating[Security Rating,link=https://sonarcloud.io/dashboard?id=zero88_jooqx]\nimage:https://sonarcloud.io/api/project_badges/measure?project=zero88_jooqx\u0026metric=alert_status[Quality Gate Status,link=https://sonarcloud.io/dashboard?id=zero88_jooqx]\n\n`jooqx` leverages the power of typesafe SQL from https://www.jooq.org[jOOQ DSL] and uses the reactive and non-blocking `SQL driver` from https://vertx.io/docs/#databases[Vert.x]\n\n== Examples\n\n[source,java,subs=\"attributes,verbatim\"]\n----\n// Vertx part: Init Postgres client\nPgConnectOptions connectOptions = new PgConnectOptions()                                \u003c1\u003e\n  .setPort(5432)\n  .setHost(\"the-host\")\n  .setDatabase(\"the-db\")\n  .setUser(\"user\")\n  .setPassword(\"secret\");\nPoolOptions poolOptions = new PoolOptions().setMaxSize(5);                              \u003c2\u003e\nPgPool pgPool = PgPool.pool(connectOptions, poolOptions);                               \u003c3\u003e\n\n// jOOQ part: Init DSL context\nDSLContext dsl = DSL.using(new DefaultConfiguration().set(SQLDialect.POSTGRES));        \u003c4\u003e\nAuthors table = Tables.AUTHORS;                                                         \u003c5\u003e\n\n// jooqx part: Enjoy moment\nJooqx jooqx = Jooqx.builder().setVertx(vertx).setDSL(dsl).setSqlClient(pgPool).build(); \u003c6\u003e\njooqx.execute(\n    dsl -\u003e dsl.select().from(table).where(table.COUNTRY.eq(\"VN\"),                       \u003c7\u003e\n    DSLAdapter.fetchOne(table, Collections.singletonList(table.ID, table.NAME),         \u003c8\u003e\n    ar -\u003e  System.out.println(ar.result())                                              \u003c9\u003e\n);\n//+----+-----------+\n//|  id|name       |\n//+----+-----------+\n//| *88|*zero      |\n//+----+-----------+\n----\n\u003c1\u003e Create `Vertx` PostgreSQL connection options\n\u003c2\u003e Create `Vertx` SQL pool options\n\u003c3\u003e Init `Vertx` https://vertx.io/docs/vertx-pg-client/java/[PostgreSQL pool client]\n\u003c4\u003e Init `jOOQ` DSL context with `Postgres` dialect\n\u003c5\u003e The example table is generated by `jOOQ` https://www.jooq.org/doc/latest/manual/getting-started/tutorials/jooq-in-7-steps/jooq-in-7-steps-step3/[codegen]\n\u003c6\u003e Init `jooqx` instance by builder\n\u003c7\u003e First arg: The https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html[function] produces `jOOQ` https://www.jooq.org/doc/latest/manual/getting-started/tutorials/jooq-in-7-steps/jooq-in-7-steps-step5/[Query] by DSL context\n\u003c8\u003e Second arg: the jooqx https://zero88.github.io/jooqx/jooqx/main/features-result-adapter.html[result adapter] to convert `Vertx` SQL result to typesafe record in `jOOQ`\n\u003c9\u003e Third arg: just simple async future handler\n\nInteresting?\nPlease check out https://zero88.github.io/jooqx/[documentation]\n","funding_links":[],"categories":["Database Clients"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero88%2Fjooqx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzero88%2Fjooqx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero88%2Fjooqx/lists"}