MyBatis二级缓存异常 org.apache.ibatis.cache.CacheException

CacheException


启动二级缓存:在mybatis全局配置文件中配置

<settings>
	  <!--启动二级缓存-->
     <setting name="cacheEnabled" value="true"/>
</settings>

在Mapper.xml的配置文件中加入cache标签表示使用二级缓存。

 <!--使用二级缓存-->
    <cache/>

需要被二级缓存的对象必须要实现java的序列化接口。

org.apache.ibatis.cache.CacheException: Error serializing object. Cause: java.io.NotSerializableException: com.leslie.entry.User
at org.apache.ibatis.cache.decorators.SerializedCache.serialize(SerializedCache.java:100)
at org.apache.ibatis.cache.decorators.SerializedCache.putObject(SerializedCache.java:56)
at org.apache.ibatis.cache.decorators.LoggingCache.putObject(LoggingCache.java:51)
at org.apache.ibatis.cache.decorators.SynchronizedCache.putObject(SynchronizedCache.java:45)
Caused by: java.io.NotSerializableException: com.leslie.entry.User

出现错误原因是因为二级缓存的对象没有实现序列化接口

将JavaBean实现序列化接口即可序列化