先说结论,使用mybatis-plus时,必须使用MybatisSqlSessionFactoryBean ,否则扫不到mapper.xml就会导致报错Invalid bound statement (not found)
@Primary
@Bean("dboradrterpSqlSessionFactory")
public SqlSessionFactory dboradrterpSqlSessionFactory(@Qualifier("dboradrterpDataSource") DataSource dataSource) throws Exception {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
// mapper的xml形式文件位置必须要配置,不然将报错:no statement (这种错误也可能是mapper的xml中,namespace与项目的路径不一致导致)
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/dboradrterp/*.xml"));
return bean.getObject();
}
Invalid bound statement (not found) 这个报错网上说了很多,但中心思路就是mapper.xml扫描不到,比如包名写的不对,没有设置mapperlocation等。
另外要注意区分,mybatis mybatis-generate 和mybatis-plus-generate是不一样,因为有一段时间不用了然后用mybatis-generate自动生成的代码,结果怎么也找不到mybatisplus的方法,那天仔细一看我靠用错了,尴尬。
转载请注明出处:
未经允许不得转载:lxfamn » Invalid bound statement (not found) mybatis-plus