问题
SpringBoot + MyBatis-Plus,报错Not Found TableInfoCache。
原因
跟着报错代码进去看,找到MyBatis-Plus报错行的代码,发现是sqlSessionFactory有问题。
项目中定义的sqlSessionFactory是:
而MyBatis-Plus应该使用MybatisSqlSessionFactoryBean 而不是 SqlSessionFactoryBean。MybatisPlusAutoConfiguration的源码中,如果已经有配置SqlSessionFactory。MyBatis-Plus将不会自动帮我们注入SqlSessionFactory,而使用我们自己定义的SqlSessionFactory。
解决办法
1、把MyBatis的SqlSessionFactoryBean替换成MyBatis-Plus的MybatisSqlSessionFactoryBean;
2、去掉项目中sqlSessionFactory。这样MyBatis-Plus就会自动帮我们注入sqlSessionFactory。