Mybatis之Invalid bound statement
程序员文章站
2022-07-04 21:33:26
...
工作5年了,在项目中一直使用Hibernate做数据持久化,基本上也没遇到什么解决不了的问题。Hibernate其实是一个非常复杂的框架,虽然使用是没问题了,但是对于整个框架的理解可能还是一知半解。
而Mybatis是另一个比较流行的持久化框架,据说它相对Hibernate来说更简单些,于是就想在自己玩的一个项目中使用下。找到Mybatis官网,按照文档开始写代码,完成之后写了单元测试,在IntelliJ IEDA中运行单元测试没问题,但是使用Gradle构建项目时,在测试阶段报错了
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.nexusy.virgo.data.mapper.TodoMapper.insertTodo
开始以为Mybatis配置有问题,于是把Java Config配置改成了基于XML文件的配置,但是结果还是一样,在IntelliJ IDEA中运行单元测试没问题,Gradle构建项目测试就出错。这个问题搞了将近一天时间,最后终于发现问题出在Mapper.xml文件的路径不对。最初我放在Gradle项目java目录的某个包下面,这样gradle在打包的时候就回忽略该Mapper.xml文件,于是打包好的jar中就没有该Mapper.xml文件,自然就找不到对应的语句了。只要把Mapper.xml文件放到resources目录对应的包下面即可。
推荐阅读
-
SpringBoot整合mybatis访问时报错Invalid bound statement (not found)
-
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
-
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
-
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found
-
Mybatis之Invalid bound statement
-
Mybatis之Invalid bound statement
-
一小时迅速入门Mybatis之Prepared Statement与符号的使用
-
Invalid bound statement (not found)问题解决方案
-
@org.apache.ibatis.annotations.Mapper 中的 Mapper 异常 Invalid bound statement (not found)
-
mybatis+atomikos出现invalid bound statement (not found)