awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jOOQ avatar

jOOQ/jOOQ

0
View on GitHub↗
6,666 星标·1,225 分支·Java·other·15 次浏览www.jooq.org↗

JOOQ

jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time validation of SQL syntax and data types. Its core identity is built around a fluent DSL that mirrors SQL structure, a code generator that maps tables, views, and routines to Java objects, and a multi-dialect engine that translates the same DSL into vendor-specific SQL for over 30 databases. The project also includes a SQL parser and transformer for refactoring or dialect conversion, reactive stream integration for non-blocking query execution, and a JDBC proxy diagnostics tool for detecting inefficient SQL patterns.

What distinguishes jOOQ is its combination of schema-driven code generation with a rich set of capabilities that go beyond basic query building. The project supports implicit join path navigation through foreign key relationships, active record CRUD operations on generated records, and dynamic SQL composition for runtime query assembly. It provides comprehensive diagnostics through JDBC connection proxying, detecting duplicate statements, unnecessary column projections, and inefficient row fetching. For security, jOOQ offers multi-tenant schema configuration and row-level security policy enforcement that automatically transforms DML statements. Testing is supported through mock database connections with configurable data providers for unit testing without a real database.

The broader capability surface includes data export in multiple formats (CSV, JSON, XML, HTML, plain text, and charts), nested collection fetching with the MULTISET operator, schema version diffing for migration DDL generation, and type-safe stored procedure integration. The project also supports custom data type mapping, composite type embedding, and runtime schema name mapping for environment portability. Documentation and installation are available through the project's website and Maven Central.

Features

  • Schema-to-Code Generators - Generates type-safe Java classes from live database schemas, mapping tables, views, and routines to compile-time objects.
  • SQL Query Builders - Assembles SQL statements programmatically from independent expression objects to compose queries at runtime.
  • CRUD Operations - Maps database rows to generated active records for direct create, read, update, and delete operations.
  • Updatable Records - Provides UpdatableRecord objects that automatically generate UPDATE statements when modified and stored back to the database.
  • Dynamic SQL Generators - Assembles SQL statements programmatically from independent expression objects to compose queries at runtime with type safety.
  • SQL Syntax Tree Construction - Constructs SQL statements using a Java DSL that mirrors SQL syntax and enforces correct query structure at compile time.
  • SQL Dialect Adapters - Translates the same DSL into vendor-specific SQL for over 30 database dialects automatically.
  • Type-Safe - Validates SQL syntax and data types at compile time through a fluent Java API that mirrors SQL structure.
  • Type-Safe Client Generators - Generates type-safe Java classes from live database schemas, mapping tables, views, and routines to compile-time objects.
  • Stored Procedure Method Generations - Call database functions and procedures with full type safety, including support for packages and procedural logic.
  • DDL and DML Executions - Runs DDL and DML statements through a type-safe API that validates schema operations at compile time.
  • DDL Executions - Executes CREATE, ALTER, and DROP operations through a type-safe API abstracting dialect differences.
  • Type-Safe Query Builders - Construct SQL queries with a fluent Java API that validates syntax and data types at compile time to prevent runtime errors.
  • Schema-Driven Code Generators - Produces type-safe Java classes from existing database schemas for compile-time checking of table and column references.
  • Active Record Patterns - Provides generated active records that directly map database rows to Java objects for CRUD operations.
  • SQL Query Validators - Rejects malformed query chains like missing ON clauses or mismatched subselect degrees during compilation.
  • Custom Type Converters - Attaches user-defined converters to generated column fields for automatic transformation between database and domain types.
  • Expression-Level Type Converters - Attaches custom data type converters to individual column expressions or plain SQL templates for type-safe querying.
  • DTO Mappings - Maps database records to plain Java objects using constructor references and ad-hoc conversions.
  • Database Type Mappings - Maps between built-in database types and custom Java types using two-way converters for domain types in SQL expressions.
  • Implicit Join Resolvers - Automatically generates JOIN clauses from foreign key relationships in generated table classes.
  • Dot-Notation Join Paths - Ships implicit join resolution via dot-notation path expressions on generated table classes.
  • Placeholder-Based SQL Templates - Constructs SQL fragments by embedding numbered placeholders replaced with type-safe query parts at runtime.
  • MULTISET Nested Collection Fetching - Uses the MULTISET operator to retrieve hierarchical data structures with nested lists in a single round trip.
  • Query Condition Builders - Combines optional conditions at runtime with logical operators to filter query results based on application state.
  • R2DBC Streams - Runs queries non-blocking on R2DBC connections for reactive stream pipelines.
  • R2DBC Query Executors - Executes queries as non-blocking Publishers on R2DBC connections for reactive stream pipelines.
  • Dialect Transformers - Rewrites SQL constructs between dialects, converting vendor-specific syntax into standard equivalents.
  • SQL Construct Emulations - Automatically rewrites SQL constructs like INSERT..RETURNING for databases that lack native support, using generated metadata about keys and identities.
  • Pre-Emulation Transformations - Provides pre-rendering query model transformations for dialect compatibility.
  • SQL Parsers - Parses SQL strings into an editable model and applies pattern-based transformations for refactoring or dialect conversion.
  • IDE Auto-Completion Providers - Provides a BNF-based interface hierarchy that enables IDE auto-completion for valid SQL clauses and operators.
  • SQL Query Object Models - Parses SQL into an editable model and applies pattern-based transformations for refactoring or dialect conversion.
  • JDBC Proxy Diagnostics - Detects inefficient SQL patterns like duplicate statements, unnecessary columns, and excessive row fetching through JDBC monitoring.
  • JDBC Proxy Profilers - Detects inefficient queries, duplicate statements, and unnecessary column projections by proxying JDBC connections.
  • SQL Statement Parsing - Parses SQL strings into a type-safe query object model for programmatic inspection and transformation.
  • Transformations - Provides SQL parsing and transformation capabilities for refactoring and dialect conversion.
  • Embedded Calls - Embeds stored procedure calls directly inside type-safe query statements for seamless integration.
  • Scala Query DSLs - Provides Scala-specific implicit conversions and traits for writing type-safe SQL queries without boilerplate.
  • Foreign Key Path Navigators - Accesses parent table columns from child tables using dot-notation path expressions with automatic JOIN generation.
  • SQL Query Extensions - Provides Kotlin-specific extensions for writing type-safe SQL queries with idiomatic Kotlin syntax.
  • SQL Anti-pattern Analyzers - Detects problems like fetching too many rows, duplicate statements, or unused columns by proxying JDBC connections and analyzing SQL patterns.
  • R2DBC Query Executors - Executes queries as a Publisher for non-blocking consumption in reactive stream pipelines.
  • JDBC Diagnostics Proxies - Provides a JDBC proxy that detects inefficient SQL patterns like duplicate statements and unnecessary columns.
  • Reactive Data Streams - Executes queries as a Publisher for non-blocking consumption in reactive stream pipelines.
  • JDBC Interaction Monitors - Intercepts JDBC calls through a proxy connection to collect diagnostics on API-level, JDBC-level, and SQL-level issues.
  • JDBC Proxy Diagnostics - Wraps a real database connection with a diagnostics layer that inspects SQL and JDBC calls without requiring jOOQ API usage.
  • Database Interaction Mocking - Provides a mock JDBC connection with a custom data provider for unit testing without a real database.
  • DAO Persistence Generators - Generates DAO classes that insert, update, delete, and retrieve POJOs for single-primary-key tables.
  • Operator-Based Query DSLs - Overloads standard Scala operators on field types so queries read like native Scala expressions.
  • Object Relational Mapping - Type-safe SQL query construction and database integration.
  • SQL Parsers - Translates SQL dialects and performs expression tree transformations.

Star 历史

jooq/jooq 的 Star 历史图表jooq/jooq 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

jooq/jooq 是做什么的?

jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time validation of SQL syntax and data types. Its core identity is built around a fluent DSL that mirrors SQL structure, a code generator that maps tables, views, and routines to Java objects, and a multi-dialect engine that translates the same DSL into vendor-specific SQL for over 30 databases. The project also includes a SQL parser and transformer for…

jooq/jooq 的主要功能有哪些?

jooq/jooq 的主要功能包括:Schema-to-Code Generators, SQL Query Builders, CRUD Operations, Updatable Records, Dynamic SQL Generators, SQL Syntax Tree Construction, SQL Dialect Adapters, Type-Safe。

jooq/jooq 有哪些开源替代品?

jooq/jooq 的开源替代品包括: simolus3/drift — Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database… kyleconroy/sqlc — sqlc is a SQL compiler and code generator that creates type-safe database client code from raw SQL queries. It… mybatis-flex/mybatis-flex — MyBatis-Flex is an object-relational mapping framework for Java that extends MyBatis with a fluent API and automated… seaql/sea-orm — Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly… querydsl/querydsl — Querydsl is a framework for the construction of type-safe queries. It uses a fluent API and annotation-based code… masterminds/squirrel — Squirrel is a Go database library and SQL query builder that provides a programmatic interface for constructing and…

JOOQ 的开源替代方案

相似的开源项目,按与 JOOQ 的功能重合度排序。
  • simolus3/driftsimolus3 的头像

    simolus3/drift

    3,231在 GitHub 上查看↗

    Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database tables to classes and execute SQL queries with build-time validation. It functions as a type-safe query builder and a wrapper for SQLite and PostgreSQL, eliminating manual result set parsing by binding query outputs to native objects. The project distinguishes itself through a build-time code generation system that produces type-safe APIs and validates raw SQL statements against database versions before execution. It features reactive query streaming, which transforms SQL queries

    Dartdartdart-build-systemflutter
    在 GitHub 上查看↗3,231
  • kyleconroy/sqlckyleconroy 的头像

    kyleconroy/sqlc

    17,886在 GitHub 上查看↗

    sqlc is a SQL compiler and code generator that creates type-safe database client code from raw SQL queries. It transforms SQL statements into typed definitions and functions, eliminating the need for manual row mapping between database results and application structures. The tool ensures compile-time safety by validating SQL queries against the database schema before the application is run. This workflow integrates the database schema directly into the application code, deriving types from the underlying SQL definitions to prevent runtime errors. The system utilizes AST-based query analysis

    Go
    在 GitHub 上查看↗17,886
  • mybatis-flex/mybatis-flexmybatis-flex 的头像

    mybatis-flex/mybatis-flex

    2,554在 GitHub 上查看↗

    MyBatis-Flex is an object-relational mapping framework for Java that extends MyBatis with a fluent API and automated CRUD operations. It provides a data access suite featuring an automatic CRUD data mapper, a type-safe SQL query builder, and a row-based query engine for manipulating records without predefined entity classes. The framework includes a multi-dialect SQL translator that converts generated syntax across different database engines, such as MySQL, PostgreSQL, and Oracle. It further distinguishes itself by offering annotation-free entity mapping using runtime reflection and naming co

    Javajavamybatismysql
    在 GitHub 上查看↗2,554
  • seaql/sea-ormSeaQL 的头像

    SeaQL/sea-orm

    9,410在 GitHub 上查看↗

    Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan

    Rustdatabasehacktoberfestloco
    在 GitHub 上查看↗9,410
查看 JOOQ 的所有 30 个替代方案→