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


    在IDEA中将xxxMapper.xml文件创建在(src/main/java)目录中,运行报错:
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.gentlehu.diary.mapper.TestMapper.findById(id);

    意思是没找到TestMapper的findById方法还有这个类的其他方法。

    找了好久,发现在idea生成的classes中没有DiaryMapper.xml文件。

    原来在IDEA中目录是普通属性,所以它的(src/main/java)目录中的只有.java文件会默认编译,.xml文件不会被编译。

    而在MyEclipse中可以运行的,因为MyEclipse中建立的是目录(src/main/java)的属性是资源目录,所以MyEclipse识别了这个属性会自动把这个目录的所有内容编译生成在classes中。

    所以需要在maven的pom.xml中配置一下节点

    <project>
            ......
            <build>
                <resources>
            <resource>
                <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>
            </build>
    </project>

    然后IDEA才会编译.xml文件。

  • 相关阅读:
    设计模式面试
    Netty面试
    Nginx面试
    java后端面试
    springboot面试专题及答案
    SpringBoot整合Mybatis,TypeAliases配置失败的问题
    vscode调试html文件
    Linux性能检查命令总结[转]
    如何创建systemd定时任务
    Systemd简介与使用
  • 原文地址:https://www.cnblogs.com/ifindu-san/p/9878549.html
Copyright © 2020-2023  润新知