记一次Gradle项目mybatis整合Spring时, Invalid bound statement (not found):

本文详细介绍了在Gradle项目整合Mybatis与Spring时遇到的Invalid bound statement异常,分析了由于XML文件未被编译进资源目录导致的问题,并提供了两种解决方案:一是通过自定义Task将XML文件复制到正确位置,二是修改配置将Java目录下的文件一并编译为资源文件。
摘要由CSDN通过智能技术生成

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。

常见原因: 一般的原因 Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。 按以下步骤一一执行:
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应
2、检查xml文件的namespace是否和xml文件的package名称一一对应
3、检查函数名称能否对应上
4、去掉xml文件中的中文注释
5、随意在xml文件中加一个空格或者空行然后保存

如果以上方法都不好使的情况,请看下面特殊原因

特殊原因:我这次的错误原因就是此原因,Maven项目和Gradle项目在利用mybatis进行接口与xml文件映射的时候,理应在同一包下,而此包不属于resources资源,编译的时候,该包下的xml文件不会被编译进Out/production/resources(IDEA编译后存放资源的目录),但是我们在运行java程序的时候,需要到Out目录(已编译的文件)中找到对应的XML文件,因为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值