搞了一个springboot项目,代码仔细检查,完全没有问题,但启动App.java调用方法时,报错Invalid bound statement (not found):xxx,service未能获取对mapper中的调用,下面是一些可能出现的问题和解决办法。
1、首先考虑mapper.xml文件中的命名空间【namespace】是否与mapper的Interface中的路径一致
namespace
<mapper namespace="com.demo.export.dao.IExcelMapper">
mapper的Interface
package com.demo.export.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.demo.export.beans.User;
@Mapper
public interface IExcelMapper {
public List<User> queryAllUser() throws Exception;
}
2、mapper中Interface的方法未能在mapper.xml中实现。【建议未在mapper.xml中实现的接口注掉】
3、【我犯得问题】:在springboot的项目配置文件application.properties中,对mybatis的mapper路径配置,即
#mapper的路径解析
mybatis.mapperLocations=classpath*:com/demo/export/dao/**/*.xml
#mybatis对实体的解析路径
mybatis.typeAliasesPackage=com.demo.export.beans
4、xml文件本身写错容易写对难,对格式要求高,mapper.xml文件中尽可能避免一些不必要的空格和包括在CRUD内的注释,容易解析出错
初学者综合各位大神的见解找到了这类问题的解决办法,如有问题请提出宝贵意见。