Skip to content
CAI
Produce a survey ↗Verify a survey

mybatis/mybatis-3

This system is a Java-based object-relational mapping (ORM) framework that maps Java objects to database records. It provides a comprehensive data access layer featuring dynamic SQL generation, flexible result mapping, and efficient cursor-based streaming for large datasets. The framework supports pluggable scripting languages, customizable caching, and modern Java features like generics and lambda expressions, while maintaining backward compatibility with legacy iBatis configurations.

65.2

Adequate · 6 August 2026

35k

lines of production code

Java

primary language

3

bus factor · 321 authors in all

2

measurements over time

CAI band scale
CAI trend line

How it got here

2010 · Modernization and test migration

This period focused on modernizing the MyBatis codebase by migrating the entire test suite to JUnit 5 and updating build dependencies to Java 11. The development also involved refactoring core components like the exception hierarchy, caching, and SQL builders to support newer Java features and improve thread safety.

108 changes

2011–2013 · Dynamic SQL refactoring and test expansion

This period was dominated by a major architectural refactoring of the dynamic SQL scripting engine to a node-based structure, alongside the introduction of pluggable scripting language support. Concurrently, the project significantly expanded its test coverage across diverse features, including lazy loading, caching, and type handling, while also introducing Log4j 2 support.

75 changes

2014–2019 · comprehensive test coverage expansion

This period was dominated by the addition of extensive test coverage for MyBatis features, including the new Cursor interface, constructor mapping, and various type handlers. The work also involved updating the Maven wrapper and adding integration tests using Testcontainers for multiple database systems.

72 changes

2020–2026 · Test coverage and build configuration

This period was dominated by the addition of extensive unit and integration tests across various MyBatis components, including reflection, transaction handling, and type resolution. The work also included updating Maven build configurations and XML schemas to support new features and improve validation.

29 changes

CAI lens gauges

Survey your own repository

mybatis/mybatis-3 was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 27cbe4f039 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.
CAI link cards