idea xml文件未编译报错(持续更新)

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


  同样,自己没找到问题之后百度搜索方案。问题大致意思为:mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。

  网上解决方案:

    按以下步骤一一执行:

    1:检查xml文件所在的package名称是否和interface对应的package名称一一对应

    2:检查xml文件的namespace是否和xml文件的package名称一一对应

    3:检查函数名称能否对应上

    4:去掉xml文件中的中文注释

    5:随意在xml文件中加一个空格或者空行然后保存

  但是我按照这个顺序反复排查无果,最后发现在 src/target/classes/... 目录下只有.java文件,没有与之对应的xml文件,意思是xml

文件没有编译过来。

  

  解决方案:

  1,直接把对应的xxxMapper.xml复制到 src/target  的.java文件同级目录下,

  

  2,在pom.xml文件的build中添加如下,注意<resource>写在<resources>里面:

  

  这样以后的xxMapper.xml文件就都会自己编译进来,运行,成功!

  以上情况属于xml文件在 src/main/java 里面得到解决,如果xml放在与java同级目录时,如下:

 

在mybatis和hibernate得项目中,有时会把xml放在java目录外边,但是idea也没有进行编译,这时也在pom.xml文件中配置:

再运行,成功跑起来。

猜你喜欢

转载自www.cnblogs.com/magict/p/11204150.html