![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
文章平均质量分 62
1, 记录Mybaits基础理论知识。2,记录实践的问题及其解决方案。3,记录Mybatis一些原理知识。
欧阳田
生活没有对与错,一路爬行。
展开
-
通过demo理解mybatis的plugin
背景 1, mybatis通过插件来扩展功能。 2,Mybatis的插件其实可以理解为拦截器。 3,Mybatis能够拦截的接口只有4个 (1)ParameterHandler (2)StatementHandler (3)Executor (4)ResultSetHandler 过程 文件目录全景 接口InterfacePlugin的实现类 实现InvocationHandler的Plugin 测试类 测试结果 小结 其实,理解代理的执行流程会有一些抽象。因此,记录一原创 2021-09-17 16:18:09 · 184 阅读 · 0 评论 -
Mybatis的mybatis-config.xml文件的标签是有顺序的?
背景 记录添加mybaits插件报错 过程 错误标签顺序配置 结果 configuration的内容必须按照如下内容和顺序进行匹配 “(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,databaseIdProvider?,mappers?)”。 修改,把plugins移动到environment标签之前 结果,正确原创 2021-04-12 10:28:58 · 244 阅读 · 0 评论 -
带着疑问去学习Mybatis的工作过程
背景 记录应该理解Mybatis核心问题是哪些 过程 如何在项目中引入Mybatis Mybatis的groupId是什么?artifactId又是什么?目前最新版本是多少? 如何从xml中构建 SqlSessionFactory?SqlSessionFactory的作用是什么? xml配置了哪些信息?用什么方式解析xml的? xml里的标签都是什么意思:configuratio、environments、transactionManager、dataSource、mappers。这些标签的属性分别是原创 2021-04-10 23:58:56 · 115 阅读 · 2 评论 -
Mybatis源码中的架构设计
背景 记录Mybatis的架构设计 过程 架构图 说明 接口层,SqlSession就是我们每次请求创建的sqlSession会话实例。功能就是跟数据库进行交互。执行的动作就是CRUD操作。 数据库处理层,配置信息(参数信息,sql信息,结果集返回映射信息),解析配置信息,类型转换(java type到jdbc type; jdbc type到java type) 基础层。提供基础设施,比如读取文件资源的io, 构建xml的builder,解析xml的xpath、xnode,事务管理,缓原创 2021-04-10 23:20:49 · 163 阅读 · 0 评论 -
Mybatis源码中的功能模块分析
背景 记录mybatis3的功能模块,辅助理解mybatis是怎么工作的。 过程 源码模块展示 annotations 注解,比如常用的@Select, @Insert,@Update,@Delete还有其他很多。用法就是利用反射的知识,拿到类的元信息,然后按照定义的规则,一步一步解析出来。 binding(非常重要的模块) 为mapper接口生成对应的mapper代理类,并能够通过statementId获取到 每个mapper文件都有一个对应的mapper代理类。MapperProxyFac原创 2021-04-10 18:25:43 · 218 阅读 · 3 评论