Mybatis源码相关知识

1、Mappers的解析方式

mapper加载方式一共有四种,其中name也就是package的级别最高:

  1. resource
  2. url
  3. class
  4. name
1. 使用resource进行解析
<!-- 使用相对于类路径的资源引用 -->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
2. 使用url进行解析
<!-- 使用完全限定资源定位符(URL) -->
<mappers>
  <mapper url="file:///var/mappers/AuthorMapper.xml"/>
  <mapper url="file:///var/mappers/BlogMapper.xml"/>
  <mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
3. 使用class进行解析
<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
4. 使用name进行解析
<!-- 将包内的映射器接口实现全部注册为映射器 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>
2、Mybatis的执行器

从类型上来区分Mybatis的执行器有两种

  1. 缓存执行器
  2. 非缓存执行器
    从功能上来区分Mybatis的执行器一共有3种,默认是SIMPLE
  3. SIMPLE-默认执行器,这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement。
  4. REUSE-重用预编译执行器,这种类型将重复使用PreparedStatements。
  5. BATCH-批量执行器,这个类型批量更新,且必要地区别开其中的select 语句,确保动作易于理解。
3、关于Mybatis的一级缓存

Mybatis的一级缓存默认是开启的,由Mybatis源码中cacheEnable属性进行控制,该属性默认为true也就是默认开启一级缓存。

1. Mybatis的一级缓存的使用

Mybatis的缓存使用时通过id、offersetid、limited和sql组装创建一个key然后将这个key放入缓存中,在执行SQL的时候先查询缓存中对应的key是否存在,如果存在则从缓存本地查询如果不存在则执行SQL查询并将key和查询结果放入本地缓存中。

4、ORM框架的定义

ORM框架是:Object Relational Mapping用于实现面向对象编程语言中不同类型系统的数据之间的转换。

以上为个人总结的一些笔记,若有雷同纯属巧合,若有错误欢迎指出,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值