
Mybatis
mybatis源码实战
Is A Old HaiYun
这个作者很懒,什么都没留下…
展开
-
Mybatis——plugIn插件
Mybatis——plugIn插件简介原理自定义插件源码分析pageHelper分页插件通用Mapper简介mybatis作为一个优秀的ORM框架,其框架本身具有很高的灵活性,有四大组件提供了简单易用的拓展机制。Mybatis支持用插件对这四大核心组件进行拦截,对核心功能进行增强,增强功能的实现就是借助底层的动态代理功能实现的。Mybatis允许拦截的方法:1、执行器Executor (update、query、commit、rollback等方法);2、SQL语法构建器StatementHand原创 2020-12-21 17:47:40 · 726 阅读 · 0 评论 -
Mybatis缓存——二级缓存
Mybatis缓存——二级缓存概述示例配置二级缓存使用二级缓存二级缓存整合redis源码二级缓存标签配置文件 cacheEnabledMpper.xml :cache标签查询概述二级缓存的原理和一级缓存一样,同样是第一次查询会从数据库中查询,然后放入到缓存中,第二次就从缓存中获取数据。区别是一级缓存是基于sqlSession的,二级缓存是基于同一个Mapper的namespace的,也就是说如果两个不同的mapper,但是namepace相同,那么这两个mapper查询出来的数据,也会存放到同一个二级缓原创 2020-12-21 12:25:01 · 818 阅读 · 1 评论 -
mybatis查询结果返回map,选取表的两个字段分别作为key和value
Mapper.xml 书写定义resultMap <resultMap id="retMap" type="java.util.HashMap"> <result property="key" column="pwid_KEY" javaType="java.lang.String"/> <result prope...转载 2019-09-27 16:29:32 · 6207 阅读 · 0 评论 -
Mybatis缓存——一级缓存
Mybatis缓存——一级缓存示例源码剖析示例在mybatis中一级缓存是默认的,在同一个sqlsession中相同的代码,第一次会走数据库,第二次则是会走缓存,我们通过下面的代码验证一下 @Test public void firstCache(){ SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper mapper = sqlSession.getMapper(UserM原创 2020-12-15 16:36:25 · 905 阅读 · 2 评论 -
Mybatis自定义持久层框架
Mybatis自定义持久层框架概述思路解析XML配置文件构建Session,调用执行方法执行器Executor客户端调用最后一问概述Mybatis使我们常用的持久层框架,他的本质是通过反射和动态代理的方式对JDBC(这里以jdbc为例,当然mybatis不只是jdbc)的进一步封装,所以我们通过反射和动态代理来尝试自己实现一个建议的持久层框架。思路我们在开始之前先整理一下,我们的思路,根据我们使用mybatis的经验,来总结我们可能需要用到的东西。数据库连接的xml配置文件和我们写sql的xml原创 2020-12-12 18:16:36 · 286 阅读 · 0 评论