# mybatis-3 **Repository Path**: arthurliuyuhao/mybatis-3 ## Basic Information - **Project Name**: mybatis-3 - **Description**: mybatis-3源码学习 https://github.com/mybatis/mybatis-3 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-12-25 - **Last Updated**: 2024-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MyBatis SQL Mapper Framework for Java [![build](https://github.com/mybatis/mybatis-3/workflows/Java%20CI/badge.svg)](https://github.com/mybatis/mybatis-3/actions?query=workflow%3A%22Java+CI%22) [![Coverage Status](https://coveralls.io/repos/mybatis/mybatis-3/badge.svg?branch=master&service=github)](https://coveralls.io/github/mybatis/mybatis-3?branch=master) [![Maven central](https://maven-badges.herokuapp.com/maven-central/org.mybatis/mybatis/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.mybatis/mybatis) [![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/https/oss.sonatype.org/org.mybatis/mybatis.svg)](https://oss.sonatype.org/content/repositories/snapshots/org/mybatis/mybatis/) [![License](https://img.shields.io/:license-apache-brightgreen.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![Stack Overflow](https://img.shields.io/:stack%20overflow-mybatis-brightgreen.svg)](https://stackoverflow.com/questions/tagged/mybatis) [![Project Stats](https://www.openhub.net/p/mybatis/widgets/project_thin_badge.gif)](https://www.openhub.net/p/mybatis) ![mybatis](https://mybatis.org/images/mybatis-logo.png) MyBatis SQL Mapper Framework 使得在面向对象的应用程序中使用关系数据库变得更加容易。MyBatis 使用 XML 描述或注解将对象与存储过程或 SQL 语句耦合在一起。相对于对象关系映射工具,MyBatis 数据映射器的最大优势在于其简单性。 ## 相关学习资料: 1. [Mybatis3.0源码解读](https://www.bilibili.com/video/BV1xM411H7Ky?p=3&vd_source=98974018945b0c2a5cc507d5a74a8b5a) 2. [精尽 MyBatis 源码分析](http://svip.iocoder.cn/categories/MyBatis) ## 要点 * [查看文档](https://mybatis.org/mybatis-3) * [下载最新版本](https://github.com/mybatis/mybatis-3/releases) * [下载快照版](https://oss.sonatype.org/content/repositories/snapshots/org/mybatis/mybatis/) ## 贡献 Mybatis-core 现在正在进行自动格式化。考虑到 MyBatis 的某些代码逻辑的性质,对于诸如 SQL 语句之类的片段,手动强制格式化结构更为合适。为此,在代码周围添加以下块。 - ```// @formatter:off``` 以开始未格式化代码块 - ```// @formatter:on``` 以结束未格式化代码块 如果注释部分需要与 javadocs 等具有相同行为,请注意整个块必须围绕整个注释,因为直接使用不能正确地指示格式化程序将其视为一个注释块。 ## 测试 Mybatis-3 代码在使用 jdk 和平台的情况下运行更具表现力的测试。 默认情况下,我们设置 ```TestcontainersTests```,它将排除带有 @Tag('TestcontainersTests') 的测试子集。此外,如果使用的是 jdk 16 之前的版本,我们还将排除记录类的执行,从而进一步减少测试。 使用 jdk 16+ 时,我们将规则调整为 ```TestcontainersTests,RequireIllegalAccess```。 当在 ci 平台上运行时,我们会根据需要进行进一步的调整。详细信息请参见[这里](.github/workflows/ci.yaml)。 截至 2023 年 2 月 20 日,使用组合系统 + jdk 将导致运行给定数量的测试。随着时间的推移,这将随着测试的增加或删除而发生变化。 不进行调整设置(即按原样使用,平台无关) - 任何操作系统 + jdk 11 = 1730 个测试 - 任何操作系统 + jdk 17 = 1710 个测试 - 任何操作系统 + jdk 19 = 1710 个测试 - 任何操作系统 + jdk 20 = 1710 个测试 - 任何操作系统 + jdk 21 = 1710 个测试 我们针对平台确实关系到的 GH actions 进行的调整 - Windows + jdk 11 = 1730 个测试 - Windows + jdk 17 = 1710 个测试 - Windows + jdk 19 = 1710 个测试 - Windows + jdk 20 = 1710 个测试 - Windows + jdk 21 = 1710 个测试 - Linux + jdk 11 = 1765 个测试 - Linux + jdk 17 = 1745 个测试 - Linux + jdk 19 = 1745 个测试 - Linux + jdk 20 = 1745 个测试 - Linux + jdk 21 = 1745 个测试 - Mac + jdk 11 = 1730 个测试 - Mac + jdk 17 = 1710 个测试 - Mac + jdk 19 = 1710 个测试 - Mac + jdk 20 = 1710 个测试 - Mac + jdk 21 = 1710 个测试