spring boot 整合mybatis 提示Invalid bound statement 解决记录

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 经验分享
  • 时间:2019-06-02 14:39
  • 2180人已阅读
简介 在springboot整合mybatis的时候提示。org.apache.ibatis.binding.BindingException:Invalidboundstatement。分析是mybatis没有找到。也就是dao层的interface中的方法名称和xml文件中的sql的id不一致导致。查看代码:查看dao:xml:名字一样的。怎么会报错呢?接着分析:是不是没有被扫描到?这是dao扫描包

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

在spring boot 整合 mybatis 的时候提示。org.apache.ibatis.binding.BindingException: Invalid bound statement 。

分析是mybatis没有找到。也就是dao层的interface中的方法名称和xml文件中的sql的id不一致导致。

查看代码:

9fd3a19fd32b7e105886270f7e55b1fc.png

查看dao:

37eb11601ddc7c66fd36d1f0ff86ea2c.png

xml:

598df5d26f13cae476e6ba316e02ddb5.png

名字一样的。怎么会报错呢?

接着分析:是不是没有被扫描到?

这是dao扫描包:

98a42b7fd8d37f1ec71ab5dd1d89ebc6.png

在看看mapper.xml被spring管理了吗?

发现没有。

所以问题就出在,xml文件没有被spring管理。修改:在application.properties文件中,添加xml的扫描:


dc7f3cd6659952a904a84210843d858f.png

#mybatis的mapper.xml
mybatis.mapper-locations=classpath:/mapper/*Mapper.xml

将mapper.xml文件都放置在resources的mapper下:

5dd3831a3f10bb91c51515a6208b1991.png

重启项目。就OK













TopTop