mybatis
令走天下
每天记录一点,成长自己一点
展开
-
MyBatis where、set、trim标签的用法
1 where用法 <where>标签的作用:如果该便签包含的元素中有返回值,就插入一个where;如果 where后面的字符串是一and或or开头的,就将它们剔除掉。 案例分析 当if条件不满足的时候,where元素中没有任何内容,所以SQL中不会出现where,也就 不存在4.1.1节中的SQL错误的问题。如果if条件满足,whe...原创 2019-08-31 16:04:50 · 1238 阅读 · 0 评论 -
mybatis解析核心源码(一):初始化阶段
一:创建sqlsessionFactory对象 其实初始化就是通过《建造者模式》创建出来的工厂类。目的就是将mybatis的配置文件进行解析的操作。 具体的建造者模式的模型: 其中: xmlconfigBuilder:主要是负责mybatis-config.xml里面的参数字段 xmlMapperBuilder:主要是负责解析映射配置文件,也就是mybatis-config.xml配置文件里面...原创 2019-09-18 16:47:32 · 180 阅读 · 0 评论 -
mybati解析核心源码(二):代理阶段
我们先来看一个问题: 为什么使用mapper接口就能操作数据库呢? 其实也就是解析mapper文件然后通过动态代理增强,找到了session中对应的方法执行,找到了命名空间和方法名,然后通过传递参数,最终可以通过sql语句访问数据库。 1、通过将java pojo对象传到getmapper mapperRegistry类主要是mapper接口和对应的代理对象工厂的注册中心。 2、通过Mappe...原创 2019-09-22 17:14:36 · 181 阅读 · 0 评论 -
mybatis解析核心源码(三):数据读写阶段
好了,到了我们关心的事情了,我们通过代理获得了mapper文件,然后执行映射文件的方法执行了mapper文件里面的sql语句。由于executor的代码量有点多,这次只是解释总体的流程 1、executor是mybatis的核心接口之一了,总体使用了模板方法模式实现的。定义了数据库操作最基本的方法,sqlsession的功能都是基于它来实现的 2、Executor的三个核心实现类: Simpl...原创 2019-09-22 17:30:58 · 119 阅读 · 0 评论