# mybatis-with-comments **Repository Path**: f_qiao/mybatis-with-comments ## Basic Information - **Project Name**: mybatis-with-comments - **Description**: mybatis源码学习,添加注释说明 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.yuque.com/docs/share/54452821-590f-4d7a-bd09-eac29d2a6b16? - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-12 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mybatis3源码学习 * 版本:3.5.7 * [官方文档](https://mybatis.org/mybatis-3/zh/index.html) * [mybatis项目地址](https://github.com/mybatis/mybatis-3) * [mybatis api doc](https://mybatis.org/mybatis-3/apidocs/index.html) * [源码解析文档](https://www.yuque.com/docs/share/54452821-590f-4d7a-bd09-eac29d2a6b16) ## 参考 * [https://github.com/tuguangquan/mybatis](https://github.com/tuguangquan/mybatis) * [https://www.jianshu.com/p/e739afb8fe31](https://www.jianshu.com/p/e739afb8fe31) ## 基本流程 SqlSessionFactoryBuilder -> SqlSessionFactory -> SqlSession -> Mapper Instances ## 测试方式 按如下方式组织自定义代码、文件: * `src/test/java/cn.pengchen.mapper`,mapper接口和mapper xml文件 * `src/test/java/cn.pengchen.entity`,实体类 * `src/test/java/cn.pengchen.test.Main`,测试入口 * `src/test/java/cn.pengchen.resource`,mybatis配置文件 * `src/test/java/cn.pengchen.plugin`,自定义拦截器 * `src/test/java/cn.pengchen.typehandler`,自定义类型处理器 * `src/test/java/cn.pengchen.objectobject`,自定义对象工厂 * `uml`,采用plantuml画的类图 ## 数据准备 * 修改`src/test/java/cn.pengchen.resource/mybatis-config.xml`中的数据库连接地址 * 执行`db/init.sql` ## 调试 执行src/test/java/cn.pengchen.test.Main ## 问题及解决方法 ### 配置文件解析报错 错误信息: > Error creating document instance. Cause: org.xml.sax.SAXParseException; ...; 元素类型为 "configuration" > 的内容必须匹配 "( > properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)" > 。 说明:mysql xml配置文件中,configuration的子元素需要按照一定顺序定义,顺序为错误信息值提示的顺序。