缓存,也就是Cache
在iBATIS2中以其较粗的粒度而为人们所诟病,iBATIS3做了哪些改变呢?
iBATIS为大家带来了更易于定制和配置的缓存
默认地,除了本地的 session 缓存外(有点象Hibernate的一级缓存,系统自己实现),没有启用缓存。
如果启用二级缓存,只要简单地加一句配置:
有了这一句,则会:
1、所有的 select 出来的结果(当然是在配置里的)将会被缓存
2、所有insert, update和delete将刷新缓存
3、缓存将使用LRU(least Recently Used)实现
4、缓存在各种基于时间的计划上不会刷新(如没有时间间隔)
5、缓存将存储1024条引用到list或对象中(不管查询方法返回了多少条)
6、缓存默认被处理为读写缓存,意味着对象重用不共享并且能被调用者安全地修改
配置的的话的iBATIS2有些区别,但差别不大。