Mybatis框架报错 : org.apache.ibatis.binding.BindingException:

在MyBatis框架的代码测试中报了一项这个错误:

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

首先应该考虑的是Mapper接口与Mapper.xml之间的约束规定:

需仔细检查以下规定:

    1.Mapper接口与Mapper.xml通常放在同一个包下, 除了后缀名,两者文件名需要一致

    2.xml文件中<mapper namespace="是否正确引用了Mapper接口"></mapper>

    3.xml文件中的Sql标签:id是否和接口方法名一致?入参类型和出参类型是否和接口方法一致?

经过上面的仔细检查,问题也许并没有得到解决,

这时查看项目的target输出文件,发现在mapper包下(放接口和xml的包)的xml文件并没有被编译过来.

导致这样的原因是该项目为Maven项目,如果xml文件没有放置在resources这样的资源配置目录,Maven是不会将xml编译输出的.

所以在pom.xml的<build></build>标签中需要加上这样一段配置:

<resources>
    <resource>
        <directory>src/main/java(此处为Java包目录,实际上为解决mapper包下放置的xml文件)</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
    </resource>
</resources>

再次运行代码测试,错误解决.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值