二级缓存对象必须实现序列化接口
来源:3-2 Mybatis的缓存机制
饭勺超人
2019-10-14 14:35:30
听老师讲二级缓存内缓存的对象必须实现ava.io.Serializable接口,否则会报错
public class Employee {
private Integer empno;
private String ename;
private String job;
private Integer mgr;
private Date hiredate;
private Float sal;
private Float comm;
private Integer deptno;
public static void main(String[] args) {
//mybatis的配置文件
String resource = "mybatis.xml";
InputStream is = MybatisRunner.class.getClassLoader().getResourceAsStream(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
String statement = "com.wenqiang.interview.mybatis.mapper.EmpMapper.findById";
SqlSession session = sessionFactory.openSession();
Employee emp1 = session.selectOne(statement, 7566);
session.close();
SqlSession session1 = sessionFactory.openSession();
Employee emp2 = session1.selectOne(statement, 7566);
session1.close();
System.out.println(emp1);
System.out.println(emp2);
System.out.println(emp1 == emp2);
}
D:\Java\jdk1.8.0_201\bin\java.exe "-javaagent:D:\JetBrains\IntelliJ IDEA 2019.1.2\lib\idea_rt.jar=3683:D:\JetBrains\IntelliJ IDEA 2019.1.2\bin" -Dfile.encoding=UTF-8 -classpath D:\Java\jdk1.8.0_201\jre\lib\charsets.jar;D:\Java\jdk1.8.0_201\jre\lib\deploy.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_201\jre\lib\javaws.jar;D:\Java\jdk1.8.0_201\jre\lib\jce.jar;D:\Java\jdk1.8.0_201\jre\lib\jfr.jar;D:\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_201\jre\lib\jsse.jar;D:\Java\jdk1.8.0_201\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_201\jre\lib\plugin.jar;D:\Java\jdk1.8.0_201\jre\lib\resources.jar;D:\Java\jdk1.8.0_201\jre\lib\rt.jar;D:\JetBrains\IdeaProject\interviewmybatis\target\classes;D:\Maven\repository\org\mybatis\mybatis\3.5.1\mybatis-3.5.1.jar;D:\Maven\repository\mysql\mysql-connector-java\8.0.17\mysql-connector-java-8.0.17.jar;D:\Maven\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar com.wenqiang.interview.mybatis.entity.MybatisRunner
com.wenqiang.interview.mybatis.entity.Employee@679b62af
com.wenqiang.interview.mybatis.entity.Employee@679b62af
true
Process finished with exit code 0也没报错误呀?
1回答
Jacquie
2019-10-14
可能是没有成功触发二级缓存吧,你按这个试试:https://www.cnblogs.com/cxuanBlog/p/11333021.html
相似问题