当前位置: 首页 > news >正文

MyBatis 官方子项目详细说明及表格总结


MyBatis 官方子项目详细说明及表格总结

在这里插入图片描述


1. 核心子项目说明

1.1 mybatis-3
  • GitHub 链接:https://github.com/mybatis/mybatis-3
  • 功能
    MyBatis 核心框架的源码,提供 SQL 映射、动态 SQL、缓存、事务管理等核心功能。
  • 主要功能
    • 支持 XML/注解配置。
    • 提供 SqlSessionMapper 等核心接口。
    • 支持一级缓存(本地会话缓存)和二级缓存(命名空间级缓存)。
  • 适用场景
    所有 MyBatis 项目的基石,所有功能均基于此实现。

1.2 mybatis-generator
  • GitHub 链接:https://github.com/mybatis/generator
  • 功能
    代码生成器,根据数据库表自动生成 EntityMapperXML 等基础代码。
  • 主要功能
    • 支持多种数据库(MySQL、Oracle 等)。
    • 可配置生成策略(如表名到类名的转换规则)。
    • 生成的代码可作为项目基础,减少重复劳动。
  • 适用场景
    快速生成基础 CRUD 代码,提升开发效率。

1.3 mybatis-ehcache
  • GitHub 链接:https://github.com/mybatis/mybatis-ehcache
  • 功能
    Ehcache 集成模块,将 Ehcache 作为 MyBatis 的二级缓存实现。
  • 主要功能
    • 提供 EhcacheCache 类实现 MyBatis 缓存接口。
    • 支持 Ehcache 的缓存策略(如过期时间、容量控制)。
  • 适用场景
    需要使用 Ehcache 作为分布式或本地缓存的场景。

1.4 mybatis-redis
  • GitHub 链接:https://github.com/mybatis/mybatis-redis
  • 功能
    Redis 集成模块,将 Redis 作为 MyBatis 的二级缓存实现。
  • 主要功能
    • 提供 RedisCache 类实现 MyBatis 缓存接口。
    • 支持 Redis 的分布式缓存特性。
  • 适用场景
    需要分布式缓存或跨节点缓存共享的场景。

1.5 mybatis-spring
  • GitHub 链接:https://github.com/mybatis/spring
  • 功能
    Spring 集成工具,简化 MyBatis 与 Spring 的整合。
  • 主要功能
    • 提供 SqlSessionFactoryBeanMapperScannerConfigurer 等 Spring 集成类。
    • 支持声明式事务管理。
  • 适用场景
    在 Spring 项目中使用 MyBatis 时简化配置。

1.6 mybatis-spring-boot
  • GitHub 链接:https://github.com/mybatis/spring-boot-starter
  • 功能
    Spring Boot 集成模块,提供自动配置和简化配置的 starter。
  • 主要功能
    • 自动配置 SqlSessionFactoryMapper 扫描。
    • 支持通过 application.properties 简化 MyBatis 配置。
  • 适用场景
    在 Spring Boot 项目中快速集成 MyBatis。

其他相关子项目
  • mybatis-issues:MyBatis 问题跟踪仓库。
  • mybatis-website:MyBatis 官网源码。
  • mybatis-oscached:旧版的 OSCache 集成模块(已较少使用)。
  • mybatis-dynamic-sql:提供动态 SQL 构建工具,减少 XML 配置。

2. 子项目对比表格

子项目名称GitHub 链接核心功能适用场景
mybatis-3mybatis-3MyBatis 核心框架,提供 SQL 映射、缓存、事务等基础功能。所有 MyBatis 项目的基础,必须依赖。
mybatis-generatormybatis-generator自动生成 Entity、Mapper、XML 等基础代码。快速生成代码,减少重复劳动。
mybatis-ehcachemybatis-ehcache将 Ehcache 作为 MyBatis 的二级缓存实现。需要使用 Ehcache 实现本地或分布式缓存的场景。
mybatis-redismybatis-redis将 Redis 作为 MyBatis 的二级缓存实现。需要分布式缓存或跨节点缓存共享的场景。
mybatis-springmybatis-spring简化 MyBatis 与 Spring 的整合(如 SqlSessionFactoryMapper 扫描)。在 Spring 项目中使用 MyBatis 时减少配置。
mybatis-spring-bootmybatis-spring-boot提供 Spring Boot 的自动配置和 starter,简化 MyBatis 集成。在 Spring Boot 项目中快速集成 MyBatis。
mybatis-dynamic-sqlmybatis-dynamic-sql提供动态 SQL 构建工具,减少 XML 配置。需要动态 SQL 构建且希望减少 XML 依赖的场景。

3. 子项目依赖关系

子项目依赖的核心模块依赖的第三方库
mybatis-3
mybatis-generatormybatis-3Velocity(模板引擎)、Freemarker
mybatis-ehcachemybatis-3Ehcache
mybatis-redismybatis-3Redis Client(如 Jedis/Lettuce)
mybatis-springmybatis-3, Spring FrameworkSpring Core、Spring JDBC
mybatis-spring-bootmybatis-spring, Spring BootSpring Boot Starter

4. 使用示例

4.1 mybatis-spring-boot-starter 配置示例
# application.yml
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.entity
4.2 mybatis-generator 代码生成示例
<!-- generatorConfig.xml -->
<generatorConfiguration><context id="DB2Target" targetRuntime="MyBatis3"><jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mydb"userId="root"password="root"/><javaModelGenerator targetPackage="com.example.entity" /><sqlMapGenerator targetPackage="mapper" /><javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" /><table tableName="user" domainObjectName="User" /></context>
</generatorConfiguration>

5. 关键选择建议

  • 核心开发:必须依赖 mybatis-3
  • 代码生成:使用 mybatis-generator 生成基础代码。
  • 缓存需求
    • 本地缓存:mybatis-ehcache
    • 分布式缓存:mybatis-redis
  • Spring/Spring Boot 集成
    • Spring:mybatis-spring
    • Spring Boot:mybatis-spring-boot-starter

6. 官方仓库地址修正

用户提供的部分链接存在拼写错误,以下是修正后的正确链接:

  • MyBatis 官方组织:https://github.com/mybatis
  • mybatis-ehcache:https://github.com/mybatis/mybatis-ehcache
  • mybatis-redis:https://github.com/mybatis/mybatis-redis

7. 学习路径建议

  1. 基础学习:从 mybatis-3 开始,掌握核心 API 和 XML 配置。
  2. 提升效率:使用 mybatis-generator 生成代码,减少重复劳动。
  3. 缓存优化:根据需求选择 mybatis-ehcachemybatis-redis
  4. 框架集成
    • Spring:学习 mybatis-spring
    • Spring Boot:使用 mybatis-spring-boot-starter

通过组合这些子项目,可以快速构建高效、可维护的 MyBatis 项目。

相关文章:

  • Sentinel规则持久化push模式改造
  • 数据结构和算法(九)--红黑树
  • Windows11系统中GIT下载
  • 【2025最新面试八股常问知识点】HTTP1.0,HTTP1.1,HTTP2.0,HTTP3.0,HTTP的进化之路。
  • TI---sysconfig生成宏
  • PyQt6实例_消息工具_使用与完整代码分享
  • 牛客:BM1 反转链表
  • 4.26 数据交互升级引入配置文件
  • JBoss Web 安全问题实战总结(Session / CSP / Host Header)
  • threejs 零基础学习day01
  • Tauri文件系统操作:桌面应用的核心能力(入门系列四)
  • 深入理解N皇后问题:从DFS到对角线优化
  • Linux | Mfgtools 修改单独只烧写 Uboot,内核,文件系统
  • 用python写一个相机选型的简易程序
  • 视觉大模型专栏导航
  • 可视化大屏开发前提了解
  • MySQL 分布式架构与实战:从单机到集群的进阶之路(附生产级架构设计)
  • Spring AI Alibaba - Milvus 初体验,实现知识库效果
  • QT6 源(51)篇一:存储 c 语言字符串的类 QByteArray 的使用举例,采用 ascii 码字符集。函detach()的调用时机,
  • 【SSH 端口转发】通过SSH端口转发实现访问远程服务器的 tensorboard
  • 教育强国建设基础教育综合改革试点来了!改什么?怎么改?
  • 政治局会议深读|首提“持续巩固房地产市场稳定态势”,楼市政策还有哪些优化空间
  • 比亚迪一季度日赚亿元,净利润同比翻倍至91.55亿元
  • 铜钴巨头洛阳钼业一季度净利润同比大增九成,最新宣布首度进军黄金矿产
  • 第六次“太空会师”,神舟二十号3名航天员顺利进驻中国空间站
  • 叶迪奇任陆金所控股董事长,赵容奭继续担任CEO