awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
abel533 avatar

abel533/Mapper

0
View on GitHub↗
7,370 stars·1,604 forks·Java·MIT·17 viewsmybatis.io↗

Mapper

Mapper is a MyBatis-specific library that provides annotation-driven object-relational mapping, enabling single-table CRUD operations without writing SQL or XML. It uses Java reflection and field-level annotations to map entity fields to database columns, configure primary key generation strategies, and generate mapper interfaces and model classes from database schemas.

The library distinguishes itself through several practical capabilities. It includes a safe operation guard that blocks delete and update calls lacking query conditions, preventing accidental full-table modifications. Its example object query builder constructs dynamic WHERE clauses by introspecting populated fields on a plain Example object, avoiding string concatenation. The generic base mapper pattern defines a parameterised base interface with common CRUD methods that concrete mappers inherit, eliminating repetitive method declarations. Developers can also register mapper interfaces automatically through annotations, extend base interfaces with custom methods, and replace default entity-to-table mapping logic with custom implementations.

Beyond its core identity, Mapper supports property-based queries that retrieve records based on specific entity property values, and provides code generation tools that produce mapper interfaces and model classes from database schema metadata. The library's configuration surface includes automatic mapper registration and customisable entity-to-table mapping resolution.

Features

  • MyBatis - Provides single-table create, read, update, and delete operations on database tables without writing XML or SQL.
  • CRUD Operations - Executes common create, read, update, and delete operations on a single database table without writing SQL or XML.
  • Dangerous Operation Guards - Intercepts delete and update calls to verify query conditions exist, preventing accidental full-table modifications.
  • Generic Base Mapper Interfaces - Provides a parameterised base mapper interface with common CRUD methods for inheritance.
  • Example-Based WHERE Clauses - Builds dynamic WHERE clauses by populating fields on a plain Example object.
  • Annotation-Based Key Strategies - Configures primary key generation strategies through custom annotations on entity fields.
  • Annotation-Based Key Generation - Provides annotation-based primary key generation strategy configuration on entity fields.
  • Annotation-Based Key Strategies - Configures primary key generation strategies through custom annotations on entity fields.
  • State Update Race Condition Prevention - Blocks delete and update calls lacking query conditions to prevent accidental full-table modifications.
  • Example Object Database Queries - Builds dynamic WHERE clauses by populating fields on a plain Example object.
  • Object Mappings - Declares how Java fields correspond to table columns, primary keys, and generation strategies through annotations.
  • Example Object Query Builders - Builds dynamic WHERE clauses by populating fields on a plain Example object, avoiding hand-written SQL.
  • Example Object WHERE Clauses - Builds dynamic WHERE clauses by introspecting populated fields on a plain Example object.
  • Annotation-Driven Mappings - Declares how Java fields correspond to table columns, primary keys, and generation strategies through annotations.
  • Reflection-Based Mappings - Uses Java reflection at runtime to read entity annotations and build SQL statements dynamically.
  • Mapper Interface Generators - Generates mapper interfaces and model classes from entity annotations and database schemas.
  • Guarded - Blocks delete calls that lack query conditions, throwing an exception to avoid accidental full-table deletion.
  • Entity Property Queries - Retrieves database records based on specific entity property values without writing SQL.
  • Guarded - Blocks update calls that lack query conditions, throwing an exception to avoid accidental full-table updates.
  • Mapper Code Generators - Generates mapper interfaces and model classes from database schemas to eliminate boilerplate.
  • MyBatis Mapper Code Generators - Generates mapper interfaces and model classes from database schemas for MyBatis projects.
  • MyBatis Mapper Generators - Generates mapper interfaces and model classes from database schemas to eliminate repetitive boilerplate code.

Star history

Star history chart for abel533/mapperStar history chart for abel533/mapper

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Mapper

Similar open-source projects, ranked by how many features they share with Mapper.
  • mybatis/generatormybatis avatar

    mybatis/generator

    5,317View on GitHub↗

    MyBatis Generator is a tool that inspects database tables to automatically produce model objects, mapper interfaces, and SQL configuration files. It functions as a database schema mapper and CRUD operation generator, translating relational database columns into language-specific classes and records. The project is an extensible code generator that allows for the customization of output files through a plugin mechanism. This framework enables the addition of specific business logic or the modification of the generation process to produce tailored output files. The generator covers a broad ran

    Javacode-generatorjava-8kotlin
    View on GitHub↗5,317
  • zouzg/mybatis-generator-guizouzg avatar

    zouzg/mybatis-generator-gui

    6,683View on GitHub↗

    This project is a Java persistence generator and database mapping tool designed to produce boilerplate persistence layer code. It translates database schemas and column comments into structured Java annotations and mapping files, replacing the need for manual configuration writing. The tool provides a visual interface for generating code and manages secure database access through SSH tunneling. It allows users to connect to private databases via encrypted tunnels to safely extract schemas without exposing the database to the public internet. The system includes capabilities for database sche

    Java
    View on GitHub↗6,683
  • go-xorm/xormgo-xorm avatar

    go-xorm/xorm

    6,628View on GitHub↗

    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

    Gogolangmssqlmysql
    View on GitHub↗6,628
  • litesuits/android-lite-ormlitesuits avatar

    litesuits/android-lite-orm

    1,483View on GitHub↗

    Android Lite ORM is a lightweight object-relational mapping and data persistence framework for Android that simplifies SQLite database operations. It maps Java and Kotlin objects directly to relational database tables using field annotations, eliminating the need for complex SQL statements or configuration files. The library handles data management through concise single-line operations that encapsulate transaction management and SQL generation. It supports recursive relationship mapping to persist nested object graphs and coordinates multiple distinct database file targets across internal a

    Java
    View on GitHub↗1,483
See all 30 alternatives to Mapper→

Frequently asked questions

What does abel533/mapper do?

Mapper is a MyBatis-specific library that provides annotation-driven object-relational mapping, enabling single-table CRUD operations without writing SQL or XML. It uses Java reflection and field-level annotations to map entity fields to database columns, configure primary key generation strategies, and generate mapper interfaces and model classes from database schemas.

What are the main features of abel533/mapper?

The main features of abel533/mapper are: MyBatis, CRUD Operations, Dangerous Operation Guards, Generic Base Mapper Interfaces, Example-Based WHERE Clauses, Annotation-Based Key Strategies, Annotation-Based Key Generation, State Update Race Condition Prevention.

What are some open-source alternatives to abel533/mapper?

Open-source alternatives to abel533/mapper include: mybatis/generator — MyBatis Generator is a tool that inspects database tables to automatically produce model objects, mapper interfaces,… zouzg/mybatis-generator-gui — This project is a Java persistence generator and database mapping tool designed to produce boilerplate persistence… go-xorm/xorm — xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries… spring-projects/spring-data-elasticsearch — Spring Data Elasticsearch is a data access library that maps Java objects to Elasticsearch indices. It functions as an… litesuits/android-lite-orm — Android Lite ORM is a lightweight object-relational mapping and data persistence framework for Android that simplifies… ebean-orm/ebean — Ebean is a Java object-relational mapping framework designed to simplify database persistence through automated query…