多模块依赖mybatis扫描不到xml文件,调用mapper接口出现org.apache.ibatis.binding.BindingException

多模块依赖mybatis扫描不到xml文件,调用mapper接口出现org.apache.ibatis.binding.BindingException_第1张图片

SysOrgMapper.xml

多模块依赖mybatis扫描不到xml文件,调用mapper接口出现org.apache.ibatis.binding.BindingException_第2张图片

配置mybatis的xml路径

多模块依赖mybatis扫描不到xml文件,调用mapper接口出现org.apache.ibatis.binding.BindingException_第3张图片

多模块依赖mybatis扫描不到xml文件,调用mapper接口出现org.apache.ibatis.binding.BindingException_第4张图片

问题叙述:

mes-web工程dependency(依赖) base-manager工程

在mes-web工程下的测试类中调用base-manager工程中写好的SysRoleMapper接口的getByLoginName

出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.jxzl.mapper.sys.SysRoleMapper.getByLoginName异常

问题分析:

出现此异常说明在调用SysRoleMapper接口时与之对应xml配置中没有找到对应的getByLoginName。

但是如上图可见xml中都把getByLoginName配置好了,但是调用时却出现了异常。估计是mybatis没有扫描到xml配置文件造成的。难道子工程依赖父工程时,扫描不到父工程的xml文件。于是baidu了一波,发现了问题。

原来在配置mybatis:mapper-locations:classpath:xxxxx时,需要在classpath后加个*号(classpath*:),表示扫描所有模块下指定扫描类路径下的xml文件。

 

你可能感兴趣的:(Java,那些年我们一起踩过的坑)