MyBatis 诡异的Invalid bound statement not found 错误

自从开始使用Maven管理项目,最近在配置MyBatis的Mapper,在Eclipse上调试时都是正常的,但是最近把项目迁移到 IntelliJ IDEA 上后发现不管是直接用Jetty调试,还是打成war发布均报错。

根据错误提示初步判断是配置的问题,检查的Spring和MyBatis所有配置文件,甚至在SVN上回退了代码,可问题均没有解决;无奈暂时换回了Eclipse继续Coding…

一直怀疑是迁移至IntelliJ IDEA造成的问题,于是自己新建了个Maven项目,调试MyBatis;可以依旧报错…无奈直接打包成War打算手动发布试试…还是不行。无奈解压了War包,发现包结构极为乱套….

在仔细检查了之前的项目后,发现Mapper.xml根本就没打包进去。妈蛋,竟然犯了一个弱智错误!

根本就没打包到Spring配置的位置。

Mapper文件应该放在Resources文件夹中!这个我竟然忘了!重新调整结构,问题顺利解决…

其他原因导致此问题解决参考:

1.


1

<mapper namespace="me.tspace.pm.dao.UserDao">

mapper的namespace写的不对!!!注意系修改。

2.UserDao的方法在UserDao.xml中没有,然后执行UserDao的方法会报此

3. UserDao的方法返回值是List<User>,而select元素没有正确配置ResultMap,或者只配置ResultType!

4. 如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决…

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

原文地址:https://www.cnblogs.com/skinchqqhah/p/10123648.html

时间: 2024-08-13 12:51:34

MyBatis 诡异的Invalid bound statement not found 错误的相关文章

MyBatis: Invalid bound statement (not found)错误的可能原因

MyBatis: Invalid bound statement (not found)错误的可能原因 其他原因导致此问题解决参考: 1.检查 xml 文件所在 package 名称是否和 Mapper interface 所在的包名一致 <mapper namespace="com.xiaopengwei.mapper.UserInfoMapper"> mapper 的 namespace 写的不对!!!注意系修改. 2.UserDao 的方法在 UserDao.xml

mybatis 异常处理:Invalid bound statement (not found)

mybatis 的使用过程中提示错误: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.msunsoft.mapper.HisLisReportMapper.getMaxMtcData 含义:HisLisReportMapper的getMtcData方法没有找到或者没有绑定 背景: 1.HisLisReportSyncWorker 控制类中 String hospitalCo

在使用mybatis的selectFromExample时出现Invalid bound statement (not found)错误

主要原因:运行项目在构建的时候只会默认的去加载resource资源文件里面的资源,其他地方的配置资源不会加载 .故没有读取到mybatis的MapperXml映射 结构如下 ============================================================= tomcat控制台报错如下: 三月 22, 2018 8:31:52 下午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet

MyBatis笔记:invalid bound statement (not found)

maven项目在本地运行的时候没有问题,一旦把war包部署到测试机上就不能运行.查看了一下tomcat日志发现抛出这样的错误:invalid bound statement (not found),后面是找不到某个Mapper类等等. 经提醒解压war包,发现WEB_INF/classes/dao/mapper下面根本没有包含相应的xml文件.修改pom.xml,在<build>结点里加入以下语句 <resources> <resource> <directory

springboot+mybatis报错Invalid bound statement (not found)

今天做项目时报了一个错提示说Invalid bound statement (not found),也就是说mapper接口绑定.xml文件出错了,找不到指定的sql:原因是程序没有把.xml文件编译到classes路径下,这时需要在pom.xml文件的<build>标签中加入下面的配置解决<resources> <!-- maven项目中src源代码下的xml等资源文件编译进classes文件夹, 注意:如果没有这个,它会自动搜索resources下是否有mapper.xm

Invalid bound statement (not found) 错误原因

对我来说,错误的原因是因为没有配置:mybatis.mapperLocations=classpath:mybatis/mapper/*Mapper.xmlmybatis.config-location=classpath:mybatis/mybatis-config.xml 导致主库是可以正常连接数据库会员分库则报出Invalid bound statement (not found) 错 原文地址:https://www.cnblogs.com/liumz0323/p/10869669.ht

Mybatis配置问题解决Invalid bound statement (not found)

首先这个异常的原因是系统根据Mapper类的方法名找不到对应的映射文件. 网上也搜索了到了类似的文章,一般可以从以下几个点排查: mapper.xml的namespace要写所映射接口的全称类名,而且要和Mapper类对应好! mapper.xml中的每个statement的id要和接口方法的方法名相同 mapper.xml中定义的每个sql的parameterType要和接口方法的形参类型相同 mapper.xml中定义的每个sql的resultType要和接口方法的返回值的类型相同 mapp

关于 Mybatis 的Invalid bound statement (not found):错误

今天遇到一个特别奇怪的问题,最后发现是自己对mybatis的学习还有待提高 返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用 举个例子: resultMap: <select id="findByContract" resultMap="BaseResultMap">        select        *        from    

解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误

我调这个bug调了一天多,在网上搜索的检查namespace,package等,都没有错.错误提示是没有找到xml文件,我就纳闷了,为什么找不到呢?后来才发现,原来是resource中奇怪的目录为题,可以看着两个链接:https://jingyan.baidu.com/article/93f9803f51225fe0e56f5573.html,https://blog.csdn.net/benben513624/article/details/81076182. 在创建resources下目录时