Invalid bound statement (not found)

在使用MyBatis的过程中经常会碰到Invalid bound statement (not found)的错误,引发这个错误的原因很多,汇总如下,以待后用。


最佳解决方案

原因分析

发方法或者方法参数和mapper.xml的配置对应不上

比如DAO层定义的方法是:

public bool update(@Param("id")Int id);

mapper.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="xxx.Mapper">
    <!-- 删除数据 -->
    <edit id="edit" parameterType="java.lang.String">
        Update TBLName Set Status=0 WHERE id=#{id}
    </edit >
</mapper>

mybaits一般要求 id=“方法名” 和 parameterType定义的参数类型必须和DAO层完全一致才可以,如上肯定报错。方法名和参数但凡有一个匹配不上都会报错。

Jason–json T0 被采纳率100%
2021-04-02 09:05
打赏 0 1
页面统计
981 访问
0 帮助
0.00 打赏

hierror 2019 © hierror.com 京ICP备13026190号-1

通知消息
  • 暂无任何消息