1、Mappers的解析方式
mapper加载方式一共有四种,其中name也就是package的级别最高:
- resource
- url
- class
- 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的执行器有两种
- 缓存执行器
- 非缓存执行器
从功能上来区分Mybatis的执行器一共有3种,默认是SIMPLE- SIMPLE-默认执行器,这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement。
- REUSE-重用预编译执行器,这种类型将重复使用PreparedStatements。
- 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用于实现面向对象编程语言中不同类型系统的数据之间的转换。
以上为个人总结的一些笔记,若有雷同纯属巧合,若有错误欢迎指出,谢谢!