BindingException问题

2022年3月4日 9点热度 0条评论 来源: 秃头小宝贝呀

记录一些自己犯过的错误和一些异常信息

 

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 绑定异常 mapper和xml文件绑定问题

  第一步:先看看xml文件的namespace是否对应着mapper接口(也就是DAO接口),namespace要对应DAO的全限定类型名

  第二步:看看xml文件中对应的sql语句的id值是不是DAO接口中的方法名

      (以上两步建议 cv 不容易出错,或者使用MybatisX插件) 如果以上都没有问题还是出现这个异常

  第三部:在idea的target文件中看看mapper文件夹中是否有对应的xml文件,我这里放的是没有(这是使用的maven,用的是MybatisX插件)

  

  

  这是问题是maven的默认加载机制造成的,maven在src/main/java文件夹下只会加载.java文件,不会加载xml文件类型的文件

    解决办法:

      方法一:将xml文件夹复制到target中对应的mapper文件夹中(不常用 麻烦)

        

 

      方法二:将xml文件夹方法Resources文件中(非常不建议,因为这样改变了项目结构,也不好找)

      方法三:推荐推荐!!!建议用这个   通过配置实现

          在pom.xml中配置  或者在  application.properties中配置

            (1)pom.xml方式  

           

<build>
<!--强制找包的资源文件-->
<resources>
<resource>
<!--在这个文件包含加载-->
<directory>src/main/java</directory>
<includes>
<!--
这里一定要两个*号**/
*/表示单层目录
**/表示里面的多层目录
-->
<include>**/*.xml</include>
</includes>
</resource>
<!--这是resources文件夹中的其他配置文件-->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>

  

        (2)application.properties中配置  

#配置mapper.xml文件的路径
mybatis-plus.mapper-locations=classpath:com/wz/eduservice/mapper/xml/*.xml

 

    然后重启服务器就可以了。

    

 

    原文作者:秃头小宝贝呀
    原文地址: https://www.cnblogs.com/ashes001/p/16134302.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。