For backend selectors, the strongest matches are pagehelper-org/mybatis-pagehelper (This is a specialized pagination plugin for MyBatis that), carltongibson/django-filter (This library provides a declarative way to map URL) and ent/ent (Ent is a powerful entity framework for Go that). doctrine/doctrinebundle and encode/databases round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best backend query builders for your project. Compare top-rated open-source libraries by features and activity to pick the right one.
Mybatis-PageHelper is a pagination plugin and persistence framework extension for MyBatis. It functions as a physical pagination engine that automatically appends limit and offset clauses to SQL queries to retrieve specific record subsets from a data source. The project optimizes data retrieval by modifying SQL statements at runtime to reduce memory overhead. It implements database pagination and data set windowing to manage the retrieval of paginated data within Java applications. The system utilizes a MyBatis interceptor chain for dynamic SQL rewriting and employs database dialects to ensu
This is a specialized pagination plugin for MyBatis that handles dynamic data subsetting and record counting, fitting the category as a targeted library for managing data retrieval and pagination.
django-filter is a library for filtering Django QuerySets by mapping URL parameters to database lookups using declarative syntax. It functions as a model filter generator and a database lookup tool that translates request parameters into queries to refine data results. The project enables the automatic generation of search filters and user-facing forms based on model field definitions. It supports advanced retrieval logic through custom lookup methods, relationship paths, and full-text search integration, while providing a system for refining results within REST API endpoints. Its capability
This library provides a declarative way to map URL parameters to database queries, offering the dynamic filtering and model-based abstraction required for backend data retrieval in Django applications.
Ent is a statically typed entity framework for Go that models database structures as a graph of nodes and edges. It functions as a code generation engine that transforms schema definitions into type-safe database clients, query builders, and migration scripts. By representing data as interconnected entities, the framework enables intuitive traversal of complex relationships and ensures that database interactions remain consistent with the application model at compile time. The framework distinguishes itself through its graph-based approach to data modeling and its reliance on compile-time cod
Ent is a powerful entity framework for Go that provides type-safe query building, dynamic filtering, and built-in support for cursor-based pagination, making it a comprehensive tool for querying and managing backend data.
DoctrineBundle is a Symfony integration that configures and manages the Doctrine Object Relational Mapper and Database Abstraction Layer. It provides the fundamental tools required to map application objects to relational database tables and execute raw queries through a consistent programmatic interface. The project includes a database schema manager with command-line tools for synchronizing database structures with entity mappings and executing migrations. It also provides a database query debugger and activity debugging tools to track performance and execution details via a web-based inter
This is a database abstraction and ORM integration for Symfony that provides the necessary tools for mapping, querying, and filtering data from relational databases.
This project is an asyncio database abstraction layer that provides a common interface for performing non-blocking database operations in Python. It functions as an asynchronous database driver wrapper and a SQL expression builder, allowing for the construction of raw SQL strings from structured Python objects. The library includes an asyncio connection pool manager that utilizes task-local storage to handle connection lifecycles and reduce resource overhead. It also serves as an async database transaction manager, wrapping operations in atomic transactions and savepoints to maintain data int
This library provides a database abstraction layer and SQL expression builder that facilitates querying and interacting with backend databases, though it focuses more on low-level driver abstraction than high-level API query language features.
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
TypeORM is a comprehensive object-relational mapper that provides a robust query builder, schema definition, and built-in support for dynamic filtering and pagination, making it a standard tool for querying and managing backend data.
This project is a SQL database abstraction layer that provides a consistent object-oriented interface for interacting with multiple relational database systems. It includes a driver wrapper to standardize connections and result sets, a fluent query builder for constructing portable SQL statements, and a type mapper for converting database-specific data types into native application types and vice versa. The library enables programmatic schema management through a schema manager that can introspect database metadata, model structures as objects, and generate the SQL required to migrate between
This library provides a robust database abstraction layer and a fluent query builder that handles dynamic SQL construction, schema introspection, and data mapping, making it a foundational tool for querying and filtering data from relational databases.
Objection.js is an object-relational mapper for Node.js that maps SQL database tables to classes and rows to model instances. It functions as a high-level abstraction layer built on top of the Knex.js query builder to provide structured model definitions and relational data mapping. The project distinguishes itself through its ability to manage complex object graphs, allowing for the persistence and eager-loading of deeply nested related data in single operations. It incorporates a data integrity layer that uses JSON schema validation to verify model instances before they are persisted to the
Objection.js is an ORM that provides a robust abstraction layer for querying and filtering relational data, including built-in support for schema validation, complex relation management, and pagination via its underlying query builder.
Mongoose is an object data modeling library and framework for Node.js that maps application objects to MongoDB documents. It functions as a document mapper and schema validator, ensuring consistent data types and validation rules for records stored in MongoDB. The project provides a system for defining structured schemas to model application data, including the ability to create hierarchical data structures through nested schema composition. It implements a middleware-based hook system that allows for the interception and modification of data states during the lifecycle of database operations
Mongoose is a robust object-document mapping library for Node.js that provides schema validation, data modeling, and powerful query-building capabilities for MongoDB, fitting the requirements for backend data interaction.
Django REST Framework is a toolkit for building standards-compliant web services that map complex data models to structured HTTP responses. It provides a modular architecture for handling the request lifecycle, including authentication, permission checks, and content negotiation. The framework is designed to facilitate the development of robust APIs by transforming complex data types into native formats and validating incoming request payloads against defined schemas. The project distinguishes itself through a highly modular, class-based design that allows developers to build complex views an
Django REST Framework provides a comprehensive suite for serializing database models, validating request schemas, and implementing dynamic filtering and pagination for web APIs.
Prisma is a database toolkit that provides a unified access layer for interacting with relational and document databases. It centers on a declarative schema modeling approach, where developers define their data structures in a human-readable language. This schema serves as the single source of truth, from which the toolkit automatically generates type-safe database clients that provide compile-time validation and editor autocomplete for all data operations. The project distinguishes itself through a high-performance, Rust-based query engine that handles query planning and connection pooling o
Prisma is a comprehensive database toolkit that provides a type-safe query API, schema-based validation, and robust abstraction for relational and document databases, covering all the requested features for backend data interaction.
This project is the JavaScript reference implementation of the GraphQL specification. It provides a query engine and schema parser designed to parse, validate, and execute queries to retrieve or mutate data based on a defined schema. The implementation includes a framework for mapping codebase structures to a strongly typed system and a tool for converting query strings into abstract syntax trees for programmatic analysis. The library covers the full surface of GraphQL API implementation, including schema definition, language parsing, and query validation. It provides the necessary infrastru
This is the reference implementation for GraphQL, providing a robust engine for schema definition, query validation, and dynamic data fetching that directly addresses the requirements for API-based data querying and filtering.
Drizzle ORM is a TypeScript-native database toolkit providing type-safe SQL query building, schema management, and automated migrations across PostgreSQL, MySQL, SQLite, and SingleStore.
Drizzle ORM is a comprehensive database toolkit that provides type-safe query building, schema management, and dynamic filtering capabilities, making it a direct fit for backend data querying and abstraction.
Eve is a REST API framework that maps database collections to web resources through declarative configuration files. It functions as a database-to-API mapper, automatically exposing data as RESTful endpoints with built-in support for CRUD operations and schema-based request validation. The project distinguishes itself through a HATEOAS API engine that generates hypermedia links and resource schemas for dynamic client discovery. It also includes an automated Swagger documentation generator that produces interactive specifications for client SDK generation and testing. The framework provides a
Eve is a REST API framework that provides a declarative layer for querying and filtering database collections, offering built-in support for schema validation, pagination, and dynamic data access.
GORM is a developer-focused object-relational mapping library for Go that provides a comprehensive data persistence framework. It serves as a database access layer, allowing developers to map application structures to database tables and perform CRUD operations using a fluent, type-safe query builder instead of writing raw SQL. The library distinguishes itself through its association-aware persistence, which automatically tracks and synchronizes complex entity relationships during database operations. It utilizes a driver-agnostic interface to maintain consistent behavior across various stora
GORM is a comprehensive ORM for Go that provides a fluent query builder, dynamic filtering, and database abstraction, making it a standard tool for querying and managing data from a backend database.
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
Sea-ORM is a robust asynchronous ORM for Rust that provides a programmatic query builder, schema-driven code generation, and built-in support for pagination and filtering, making it a comprehensive tool for querying and managing relational data.
MyBatis-Plus is a persistence framework extension for Java that simplifies data access by reducing boilerplate code. It provides a toolkit for automating common database operations, utilizing dynamic query wrappers and a system for automated CRUD generation. The project distinguishes itself through a code generation system that produces mapper, model, service, and controller layers based on database metadata. It also implements a security layer that prevents SQL injection through input sanitization and blocks dangerous global update or delete operations to prevent accidental data loss. The f
MyBatis-Plus is a persistence framework that provides a fluent API for dynamic query building, filtering, and pagination, serving as a comprehensive tool for managing database interactions in Java applications.
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
Strawberry is a type-safe GraphQL library that provides a robust framework for defining schemas and executing queries, effectively serving as a powerful interface for filtering and retrieving data from backend sources.
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
MyBatis-Flex is a Java ORM framework that provides a fluent, type-safe API for building dynamic SQL queries and handling database operations, effectively serving as a library for querying and filtering backend data.
Knex is a multi-dialect database client that provides a programmatic SQL query builder, a connection pool manager, and a versioned schema migration tool. It enables programmatic database interaction across multiple SQL engines, including PostgreSQL, MySQL, SQLite3, SQL Server, CockroachDB, and Oracle. The project distinguishes itself through a fluent interface for constructing complex SQL statements and a dedicated framework for database seeding. It utilizes specialized dialects to translate generic query representations into database-specific syntax while maintaining a consistent API across
Knex is a robust SQL query builder that provides the necessary database abstraction, dynamic query construction, and pagination support to facilitate programmatic data interaction across multiple database engines.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Doctrine ORM provides a robust object-oriented query language and database abstraction layer that handles dynamic filtering, schema mapping, and pagination for PHP applications.
This project provides a comprehensive suite of tools for managing asynchronous state and building full-stack web applications. At its core, it functions as a centralized synchronization layer that automates data fetching, caching, and background revalidation, ensuring that remote server data remains consistent with the local user interface. By utilizing a declarative, hook-based programming model, it simplifies the management of complex data lifecycles and loading states. The project distinguishes itself through a headless design philosophy that decouples business logic from visual presentati
This library provides a powerful abstraction layer for fetching, caching, and synchronizing server data with the frontend, effectively handling dynamic filtering and pagination through its declarative query interface.
Sea-query is a database abstraction library for Rust that provides a fluent builder pattern for constructing type-safe SQL queries. It functions as a framework for defining and managing database schemas and queries through code, allowing developers to generate syntactically valid statements for multiple database engines without relying on manual string concatenation. The library distinguishes itself by using an abstract syntax tree to model queries, which enables engine-agnostic transformations and compilation into specific SQL dialects. This architecture supports cross-database portability,
This is a dynamic SQL query builder that provides a programmatic way to construct complex database queries with support for filtering and pagination, fitting the role of a backend data query library.
This project is a database access layer for PHP that provides a consistent interface for interacting with multiple relational database management systems. It functions as a unified abstraction layer, enabling developers to connect to various SQL databases and perform data operations through a standardized command set. The library distinguishes itself by utilizing a fluent query builder that allows for the programmatic construction of complex SQL statements. It further abstracts database interactions through a schema definition language, which enables the creation, modification, and management
This is a database abstraction library for PHP that provides tools for data manipulation and querying, fitting the category by offering a structured way to interact with SQL databases.
This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify database interactions. It provides a comprehensive data access layer that binds database tables directly to application objects, enabling developers to perform CRUD operations, manage complex entity relationships, and execute queries through a fluent, type-safe interface. Designed for integration with Spring Boot, the framework abstracts database complexities while maintaining support for native compilation and asynchronous execution. The framework distinguishes itself through
This Java-based ORM provides a fluent query builder and data access layer that supports dynamic filtering, pagination, and database abstraction, fitting the requirements for a backend data querying tool.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
This is a comprehensive ORM and SQL query builder for Go that provides the database abstraction, dynamic filtering, and query construction capabilities required to interact with backend data.
GF is a comprehensive Go application toolkit and web framework. It provides a set of libraries and tools for building scalable web applications, APIs, and enterprise-level software. The project features a driver-agnostic SQL database toolkit with a query builder and object mapper, alongside a dedicated framework for creating structured command line interfaces. It includes a project scaffolding tool to bootstrap application structures and automate development workflows. The toolkit covers several broader capability areas, including concurrent data management with thread-safe collections, cryp
This is a comprehensive web framework that includes a robust, driver-agnostic SQL query builder and ORM, providing the necessary tools for database abstraction, dynamic filtering, and data querying within Go applications.
This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency between database schemas and application code. By leveraging compile-time validation, it ensures that SQL queries and data structures remain synchronized, preventing common errors before the application executes. It provides a comprehensive framework for relational data modeling, allowing developers to define table associations and map database results directly into strongly-typed language objects. The library distinguishes itself through its focus on compile-time safety and au
This is a type-safe ORM and query builder that provides robust database abstraction, dynamic query composition, and schema validation, making it a strong tool for querying and filtering backend data.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| pagehelper-org/mybatis-pagehelper | 12.4K | Java | MIT | |
| carltongibson/django-filter | 4.7K | Python | NOASSERTION | |
| ent/ent | 17.1K | Go | Apache-2.0 | |
| doctrine/doctrinebundle | 4.8K | PHP | MIT | |
| encode/databases | 4K | Python | BSD-3-Clause | |
| typeorm/typeorm | 36.5K | TypeScript | MIT | |
| doctrine/dbal | 9.7K | PHP | MIT | |
| vincit/objection.js | 7.3K | JavaScript | MIT | |
| automattic/mongoose | 27.5K | JavaScript | MIT | |
| encode/django-rest-framework | 30.1K | Python | NOASSERTION |