自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Mybatis源码(5)-缓存

一、介绍 对DB的访问相对于对内存的访问耗时明显,缓存作为优化系统性能的常用手段,Mybatis也引入的缓存以减少对DB的重复访问。Mybatis内部支持一级缓存(SqlSession级别)和二级缓存(Application级别),下面将详细介绍这两种缓存。 二、一级缓存 一级缓存是SqlSession级别的缓存,SqlSession是使用Mybatis时主要的类,内部提供了执行sql、获取mapper、管理事务的方法。一级缓存由BaseExecutor.localCache维护, ...

2022-01-01 21:53:17 592

原创 Mybatis源码(4)-拦截器

缓存

2021-12-02 23:33:42 1112

原创 Mybatis源码(3)-查询执行流程

上文介绍了mapper的创建过程,mybatis通过动态代理的方式生成了代理,MapperProxy实现了InvocationHandler类。下文以查询流程为例,分析sql的执行过程。 MapperProxy: @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { if (Object.class.equals(method.g

2021-10-23 17:19:03 1189

原创 Mybatis源码(2)-mapper创建过程

问题:项目中一般会声明Mapper接口,接口包含了访问db的相关方法,然后在对应的xml文件中配置和接口暴露方法相对应的sql,我们没有实现Mapper接口,为什么可以通过如下代码进行访问数据库的操作? public void testGetUserByUserName() throws IOException { InputStream inputStream = Resources.getResourceAsStream("config/mybatis/mybatis-con

2021-09-27 17:46:19 253

原创 Mybatis源码(1)-标签的解析

草稿

2021-09-15 19:28:22 517

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除