mybatis-plus无法使用BaseMapper的公用方法
需求:基于原项目进行二次开发,原项目使用的是mybaits 我这里想用mybatis-plus进行模块开发
启动时出现错误:
Invalid bound statement (not found)
原本的mybatis里面再次引入mybatis-plus之后,使用公用的BaseMapper无法使用报错:也就是无法找到sql
解决方案:只需要在你配置数据源的地方,换一个类即可:
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
示例:
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
{
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
String mapperLocations = env.getProperty("mybatis.mapperLocations");
String configLocation = env.getProperty("mybatis.configLocation");
typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
VFS.addImplClass(SpringBootVFS.class);
// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
MybatisSqlSessionFactoryBean sessionFactory=new MybatisSqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
return sessionFactory.getObject();
}