一、MyBatis的Cache配置
1、全局开关:默认是true,如果它配成false,其余各个M appe r XML 文件配成支持 cache也没用 。
2、 各个 Mapper XML文件,默认是 不采用cache。在配置文件 加一行就可以支持cache:
3、Mapper XML文件配置支持cache后,文件中所有的Mapper statement就支持了。此时要个别对待某条,需要:
二、注意的几个细节
1、如果readOnly为false,此时要结果集对象是可序列化的。
2、在SqlSession未关闭之前,如果对于同样条件进行重复查询,此时采用的是local session cache,而不是上面说的这些cache。
3、MyBatis缓存查询到的结果集对象,而非结果集数据,是将映射的PO对象集合缓存起来。
说意义不大是在于:
a、面对一定规模的数据量,内置的cache方式就派不上用场了;
b、对查询结果集做缓存并不是MyBatis框架擅长的,它专心做的应该是sql mapper。采用此框架的Application去构建缓存更合理,比如采用OSCache、Memcached啥的。