org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)....

问题描述:

SpringBoot整合shiro登录认证报错如下

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.hansin.hansincenter.dao.UserMapper.queryByName
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227) ~[mybatis-3.4.6.jar:3.4.6]
	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49) ~[mybatis-3.4.6.jar:3.4.6]
	at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65) ~[mybatis-3.4.6.jar:3.4.6]
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58) ~[mybatis-3.4.6.jar:3.4.6]
	at com.sun.proxy.$Proxy65.queryByName(Unknown Source) ~[na:na]
	at com.hansin.hansincenter.service.impl.UserServiceImpl.findByName(UserServiceImpl.java:35) ~[classes/:na]

分析:

  Invalid bound statement无效的绑定状态,可以看出问题是UserMapper没有绑定实例,导致无法调用。

  检查mapper扫描路径,命名空间定义都没有问题。之前springBoot配置mapper是在resource下,我现在是放在src/main/java下,需要多一步配置。

解决方法:

  在pom.xml的build标签添加如下内容

   

<resources>
      <resource>
           <directory>src/main/java</directory>
           <includes>
              <include>**/*.xml</include>
           </includes>
       </resource>
</resources>

重新启动项目,问题解决。

猜你喜欢

转载自blog.csdn.net/qq_29410905/article/details/86470071