mybatis
文章平均质量分 84
金牌演员
这个作者很懒,什么都没留下…
展开
-
Mybatis的运行流程源码分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提本文以查询的情况为例,主要分析mybatis的处理过程。mybatis处理增删改查主要分为了select和update两种方式,insert和delete操作也使用update操作进行处理。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一原创 2021-07-12 20:25:35 · 178 阅读 · 0 评论 -
Mybatis拦截器源码分析
目录前言一、interceptor的加载过程二、代理对象创建1.Configuration类2.pluginAll3.wrap三、代理对象调用总结前言 Mybatis的拦截器可以实现记录日志,sql拦截等功能,作为一个常用的插件,我们有必要了解其运行的原理。本文基于原始的mybatis,没有结合spring,主要从源码角度分析interceptor的运行原理,主要包括了拦截器的加载,代理对象的创建和调用过程。一、interceptor的加载过程...原创 2021-07-09 21:35:03 · 221 阅读 · 0 评论 -
Mybatis结果集处理DefaultResultSetHandler源码分析
目录前言1.handleResultSets2.handleResultSet3.getRowValue4.applyPropertyMappings总结前言 Mybatis使用PreparedStatement查询之后,会将结果存储到PreparedStatement中,接下来的过程是将其中的resultset取出,并转化成对应的java返回对象,本文主要针对这个过程展开分析,只是针对了特定情况,没有覆盖全部情况。1.handleResultSets...原创 2021-07-08 21:23:52 · 829 阅读 · 0 评论 -
Mybatis中#{}和${}源码解析
目录前言一、初步解析1.getBoundSql2.parse3.handleToken二、parameterMappings解析1.setParameters2.防止sql注入总结前言 使用#能防止sql注入,这是一个共识,但是为什么#能够做到,却很难说的清。本文主要分析#{}和${}的解析过程,从源码层次上解释#防止sql注入的原因。一、初步解析1.getBoundSql 在CachingExecutor的query方法中,...原创 2021-07-07 17:26:57 · 823 阅读 · 0 评论 -
mybatis-spring启动流程源码
目录前言二、扫描Mapper接口,注册Bean定义[email protected]三、实例化MapperFactoryBean总结前言 在上一篇文章中分析了mybatis的启动流程,主要包括SqlSessionFactory的创建和configure配置文件的解析,然后是sqlSession的创建,最后完成了mapper动态代理对象的创建,本文主要分析在有spring参与的情况下,mybatis的启动流程。一、启动配...原创 2021-07-05 20:46:39 · 294 阅读 · 0 评论 -
mybatis的启动流程源码
目录前言一、主程序二、SqlSessionFactory创建1.SqlSessionFactory的创建过程2.mapper.xml加载3.解析xml文件对应的接口三、SqlSession创建四、Mapper代理对象创建总结前言 mybatis的启动流程主要包括sqlSessionFactory,selSession和mapper代理对象的创建,本文将从源码角度分析,在接下来的文章中还会分析在spring参与的情况下启动流程的变化。一、主程序...原创 2021-07-02 18:42:30 · 136 阅读 · 0 评论 -
spring和mybatis的事务相关源码分析
目录前言一、collection的获取过程二、sqlsession的相关源码分析1.整体流程2.sqlsession的获取3.sqlsession的提交方法总结前言在有事务的情况下,为了保证事务的特性,spring和mybatis结合的过程做了哪些处理呢?本文从源码上分析,首先分析如何保证spring和mybatis获取connection的一致性,然后分析sqlsession获取的过程以及带来的影响。一、collection的获取过程在有spring事务参与的情原创 2021-06-07 17:54:44 · 221 阅读 · 0 评论 -
mybatis的缓存相关源码分析
目录前言1.二级缓存2.一级缓存二、mybatis与spring结合时的一级缓存失效问题总结前言mybatis中的缓存分为一级缓存和二级缓存,在查询相同内容的时候能够提高查询速度。本文从源码上分析缓存的实现以及mybatis和spring结合之后一级缓存失效的问题。一、mybatis中的缓存相关源码分析1.二级缓存在查询过程中,首先在二级缓存中查找,当二级缓存中找不到时继续接下来的查询,源码如下,可以看出二级缓存是mapperStatement对象中的。原创 2021-06-02 14:43:25 · 114 阅读 · 0 评论 -
mybatis的mapper方法参数解析过程源码
文章目录前言一、参数解析过程源码二、BeanWrapper和MapWrapper的get方法1.BeanWrapper的get方法2.MapWrapper的get方法三、@Param对应的ParamMap的生成过程总结前言Mybatis的mapper方法传递参数可以通过@param,对象object,map和list等方式。本文从源码层次分析每种参数传递的流程。一、参数解析过程源码参数解析的过程比较复杂,本文就重点代码进行分析。public void...原创 2021-05-19 20:24:35 · 651 阅读 · 1 评论