工作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目录对应的包下面即可。
相关推荐
"引入mybatis-plus报Invalid bound statement错误问题的解决方法" Mybatis-Plus是一个基于Mybatis的增强工具,旨在简化开发效率。然而,在使用Mybatis-Plus时,可能会遇到各种问题,例如Invalid bound statement...
在使用Mybatis-Plus时,有时开发者可能会遇到一个常见的错误——`Invalid bound statement (not found)`。这个错误意味着Mybatis-Plus无法找到对应的SQL映射语句,这通常是由于配置问题或者依赖缺失所引起的。本文将...
在使用MyBatisPlus进行开发时,可能会遇到一个常见的错误——`Invalid bound statement (not found)`。这个错误通常表示MyBatisPlus无法找到你尝试调用的Mapper接口的方法。本文将详细解析这个问题的原因以及提供...
在使用MyBatis框架进行开发时,可能会遇到一个常见的错误:`BindingException: Invalid bound statement (not found)`。这个错误通常意味着MyBatis无法找到你在Mapper接口中声明的方法与XML映射文件中对应的SQL语句...
出现以上的情况主要的原因是因为在主配置文件标签没正确的指向映射接口的配置文件。 解决方案:1.检查的name是否正确,如我的name属性填的就是com.it.dao 2、检查的class属性或resource属性,我resource这里写的是...
在MyBatis框架中,映射器(Mapper)是核心组件之一,它负责定义SQL语句和结果映射,使得数据库操作与业务逻辑解耦。本文将详细介绍如何在MyBatis配置中引入映射器,包括三种常见方法:文件路径引入、包名引入和类...
- "mybatis错误:Invalid bound statement (not found) -SELECT分页.url":这可能是一个常见问题,可能是由于Mapper接口与XML文件中的SQL语句未匹配导致,需要检查相关配置。 - "3使用MySQL的jdbc驱动关于时区引发的...
在上述问题中,报错信息是`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)`,这通常意味着Mybatis-Plus无法找到对应的Mapper方法。让我们分析一下可能的原因和解决方案: 1. **...
在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...
如果遇到错误`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.offcn.mapper.UserMapper.getUserList`,通常是因为映射文件的位置不正确或未包含在构建过程中。你可以尝试...