Mybatis 缓存优点:
1、易于上手和掌握,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验。
2、sql写在xml里,便于统一管理和优化, 解除sql与程序代码的耦合。
3、提供映射标签,支持对象与数据库的orm字段关系映射
4、 提供对象关系映射标签,支持对象关系组建维护5、提供xml标签,支持编写动态sql。
6、速度相对于Hibernate的速度较快
Mybatis 缓存缺点:
1、关联表多时,字段多的时候,sql工作量很大。
2、sql依赖于数据库,导致数据库移植性差。
3、由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。
4、对象关系映射标签和字段映射标签仅仅是对映射关系的描述,具体实现仍然依赖于sql。
5、DAO层过于简单,对象组装的工作量较大。
6、不支持级联更新、级联删除。
7、Mybatis的日志除了基本记录功能外,其它功能薄弱很多。
8、编写动态sql时,不方便调试,尤其逻辑复杂时。
9、提供的写动态sql的xml标签功能简单,编写动态sql仍然受限,且可读性低。
一级缓存
缓存存在的条件
存在要求 同一个SqlSession中,在没有收到改变该数据的请求之前!
缓存失效的条件
一 并不是同一个Sqlsession对象
二 在查询的过程中,两次的查询条件不同
三 在两次之间进行了增,删,改,操作
四 在两次之间自己进行了手动清空缓存
二级缓存<