1、动态SQL-----if
t'rim标签
2、动态SQL-----choose
3、动态SQL-----set
4、动态SQL-----foreach----遍历参数
处理方法传递的参数是list
处理方法传递的参数是map
5、动态SQL-----foreach----批量插入
方式1
方式2
6、Mybatis两个内置参数 _parameter and _databaseId
7、动态sql-bind绑定
8、SQL抽取
9、Mybatis的一级缓存
默认开启的,无法关闭
作用范围是sqlSession会话
当进行查询的时候,会先在缓存中找,找到了返回数据,没找到去数据库中查询,返回数据并保存在一级缓存中。
10、Mybatis的二级缓存
二级缓存也称为全局缓存,它是基于namespace级别的缓存,也可理解为基于映射文件的缓存,
也就是说一个映射文件对应一个二级缓存。
当sqlSession会话关闭,一级缓存中的内容会保存到二级缓存中,当新sqlSession会话打开,查询先会到二级缓存中去查找,二级查不到去查一级缓存,一级缓存查不到去数据库查。
开启使用二级缓存
1、核心文件中配置
cacheEnabled属性值只能关闭二级缓存
2、在相应的映射文件中配置二级缓存的信息
3、实体类实现序列化接口
与缓存相关的设置
1、每个select标签都有useCache=“true” 设置当前select是否使用二级缓存,false 不使用 true默认使用
2、每个增删改标签都有flushCache=“true”,执行完增删改清除一级缓存,二级缓存。
3、sqlSession.clearCache();只会清除一级缓存。
11、Mybatis整合第三方缓存-EhCache
第一步:导入jar包
ehcache-core-2.6.8.jar
mybatis-ehcache-1.0.3.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.2.jar
第二步:编写ehcache.xml文件,放到src下
第三步:配置cache标签
<cache type= "org.mybatis.caches.ehcache.EhcacheCache"></cache>
别的映射文件如果也想使用ehcache缓存,只需要引用当前配置好ehcache映射文件namespace名
<cache-ref namespace=""/>