mybatis Invalid bound statement (not found) xml文件接口可用,但是baseMapper方法不可用。
原因 : spring boot+mybatis-plus 框架搭建使用双数据源时,在datasource里面规定了自己的 sqlSessionFactory 。mybatis-plus 应该用
MybatisSqlSessionFactoryBean
改造前:
@Bean(name = "masterSqlSessionFactory") @Primary public SqlSessionFactory sqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations( new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/master/*Mapper.xml")); return bean.getObject(); }
改造后:
@Bean(name = "masterSqlSessionFactory") @Primary public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations( new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/master/*Mapper.xml")); return bean; }
MasterDataSourceConfig
框架整合参考网络大神。