在前面的缓存中提到了二级缓存的配置,按照之前的配置即可,对RoleMapper配置了二级缓存后,当调用RoleMapper的select方法查询,二级缓存就已经开始起作用了。需要注意的是,由于配置的是可读写缓存,而Mybatis使用
SerializedCache( org.apache.ibatis.cache.decorators.SerializedCache)序列化缓存来实现可读写缓存类,并通过序列化和反序列化来保证通过缓存获取数据时,得到的是一个新的实例。因此,如果配置为只读缓存,Mybatis就是使用Map来存储缓存值,这种情况下,从缓存中获取的对象就是同一个实例。
因为使用可读写缓存,可以使用Serializable(java.io.Serializable)序列化缓存。这个缓存类要求所有被序列化的对象必须实现Serializable接口,所以修改SysRole对象,代码大致如下:
public class SysRole implements