SpringBoot中使用MyBatis-Plus是如何解决Invalid bound statement (not found)这个异常的
本篇文章主要介绍关于我在SpringBoot
中使用MyBatis-Plus
是如何解决Invalid bound statement (not found)
这个异常的。我先抛一些我在这个途中遇到的一些问题,看看各位了解不了解。
- 当
Mybatis
的xml
文件不在resouce
下时该如何配置。 - 如何去指定
mapper-Location
的配置。 classpath*
跟classpath
的区别是啥- Invalid bound statement (not found)出现的原因是什么
以上就是我遇到这个问题之后总结的三个问题。
缘由
作者来了一下新公司,这边的框架看的我很闷,特别是关于mybatis的一些用法。这边的sql都是用注解写在Mapper文件上。例如
@Select("SELECT id,status, " +" actual_usage_id usage_id," +" location_id ," +" group_id ," +" breakdown_Level_id, " +" receive_persion_id " +"FROM " +" t_repair_workorder " +" ${ew.customSqlSegment} ")List<IndexDutyPageVo> dutyFaultPage(@Param(Constants.WRAPPER) Wrapper<?> wrappser);
整个项目全是这种写法,我一开始以为是规范。后面问了一个老员工才知道。说以前这个项目是写在xml的,但是后面改了一下架构之后xml的配置就扫描不到了。嗯嗯嗯…
这边的项目结构,xml文件不是放在resouce
下,并且具体的业务包是跟maven
引入进去的(这个就是我前文提到的架构改变了)。注意这两个是重点。我猜测他们不会配置的点应该就是这个原因了吧。
解决问题
竟然知道了问题就开始解决问题。
当Mybatis
的xml
文件不在resouce
下时该如何配置。
Mybatis
中如果xml文件不在resource
目录下的话,默认打包是会被忽略的,所以需要在pom文件中加一段配置。
<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources> </build>
改完这个后重新build
一下,注意去查看下target文件夹下是否xml
文件。
如何去指定mapper-Location
的配置
mybatis-plus:mapper-locations: classpath*:top/**/*.xml
## top是我具体文件夹可以不要, **的意思代表一个或者多个目录
classpath*
跟classpath
的区别是啥
这个问题是重点要考的记一下,带*
的话会扫描jar包下面的文件,不带*
只会扫描当前项目。
Invalid bound statement (not found)出现的原因是什么?如何排查这个问题
这个报错的出现,就是代表你的mapper
文件跟xml
映射不到。如果你确保你的框架没有问题下,其它的代码都能映射得到的情况,那么你就要注意了,首先你的xml
文件的名字跟Mapper
文件是不是一致的,方法名跟xml
的id
是不是一致的。如果你这两个都对了,再去查你的mapper-locations
的配置,这里没问题,再去查编译包。看看xml
编译到了不。如果这些都没问题。那人跟代码只要一个能跑就行。
废话时间
其实使用xml
跟使用注解的形式都能完成需求,没多大的区别。但是使用xml
的可读性,以及易维护性。个人觉得比注解方式强太多了。此次问题的出现,关键在于架构的改变,架构者一想把xml
从resource
移除,二又想把业务模块热插拔。这个想法是好的。但是做事做一半真的不太可取。
本篇首发于牧码人博客转载请加上此标示。
SpringBoot中使用MyBatis-Plus是如何解决Invalid bound statement (not found)这个异常的相关推荐
- 解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题)
解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题) 参考文章: (1)解决INVALID BOUND STATEMENT (NOT FO ...
- mybatis一个怪异的问题: Invalid bound statement (not found)
2019独角兽企业重金招聘Python工程师标准>>> mybatis一个怪异的问题: Invalid bound statement (not found) 博客分类: mybat ...
- mybatis一个怪异的问题: Invalid bound statement not found 作者及来源: babyblue - 博客园 收藏到→_→: 摘要: mybatis一个怪异
mybatis一个怪异的问题: Invalid bound statement not found 作者及来源: babyblue - 博客园 收藏到→_→: 摘要: mybatis一个怪异的问 ...
- 解决Invalid bound statement (not found): com.cqupt.ssm.dao.UserDao.queryMenu问题
解决Invalid bound statement (not found): com.cqupt.ssm.dao.UserDao.queryMenu问题 参考文章: (1)解决Invalid boun ...
- 解决“Invalid bound statement (not found): com.lzj.admin.mapper.GoodsMapper.getGoodsInfoById”报错
解决"Invalid bound statement (not found): com.lzj.admin.mapper.GoodsMapper.getGoodsInfoById" ...
- mybatis plus报错:Invalid bound statement (not found)
有的同学,在搭建mybatis plus项目时,遇到Invalid bound statement (not found)的问题,实质上是mapper接口和mapper.xml没有映射起来. 这种情况 ...
- 三步教你解决Invalid bound statement (not found): com.xxx.dao.xxxDao.selectByxx错误!!!!很简单
1 问题实质: dao层(又叫mapper接口)跟mapper.xml文件没有映射 2 问题原因: 出现这种映射问题的原因分为低级原因和更低级原因两种 更低级原因: (1)dao层的方法和mapper ...
- MyBatis使用动态代理报 invalid bound statement (not found) 错
这个问题网上大部分都说xml文件中的路径不对 或者是resources之类的问题,如果那些文章的解决方案解决不了你的问题的话,可以看一下我遇到的这种情况: 前提: mybatis-config.xml ...
- 解决Invalid bound statement (not found): com.difeye.dao.UsersMapper.selectUsersB
今天在做mapper接口开发作业中出现以下错误 查阅百度后,发现相应xml文件所在路径需要和对应接口类所在路径一致,这样maven编译后会把二者放在一起,把蓝色圈圈的内容改成和红色一致就解决了.
- 解决Invalid bound statement (not found): dao.UserDao.adduser
第一种办法 1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应: 2:检查xml的namespace是否和xml文件的package名称一一对应: 3:检 ...
最新文章
- 420一个像素多少个字节_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...
- X-Frame-Options防止自己的网页放被在别人iframe中
- php nginx配置404页面,Nginx实现404页面的几种方法
- jenkins之qq企业邮箱配置
- 造轮子:前端模板引擎
- Hadoop(十二)MapReduce概述
- 我亦云云——也谈云计算(3)
- Windows server 2003 ××× 配置实例(Site to Site)
- 3.Tom猫的实现(帧动画播放)
- 这项镜头贴膜技术背后,藏着让VR变轻巧的秘密
- 计算机表格怎么加减乘除,在EX表格里怎么进行加减乘除法的计算
- 改善羽毛球比赛心理有“妙招”
- 【吐槽脑洞】关于逛B站时偶然体验的弹幕互动游戏魏蜀吴三国争霸游戏的一些思考
- 阿里巴巴经典智力问题
- OpenFOAM 中边界条件的设定【转载】
- To 重度拖延症患者
- 徒手格斗技巧 源自特种部队 防身必备
- 生物化学《第二章糖类》
- java swing 大球吃小球游戏 功能完善 完整代码 下载即可以运行
- 潛行空間中1~6的編織法(A)
热门文章
- 无监督re-ranker,Improving Passage Retrieval with Zero-Shot Question Generation
- R语言使用rnorm函数生成正太分布数据、使用stem函数可视化茎叶图、茎叶图很直观的表现出数据的分布情况
- STM32开发笔记106:解决ST-LINK的Old ST-LINK firmware/ST-LINK already usde问题
- CC00051.elasticsearch——|HadoopElasticSearch.V03|——|ELK.v03Logstash部署.V3|
- 利用python批量创建.xsh文件实现Xshell批量登录服务器
- 查看已有的docker镜像latest的具体版本号
- 平面广告设计课程中发散思维训练
- 合并集合 {aaa,bbb,ccc},{bbb,ddd},{eee,fff},{ggg},{ddd,hhh}运算的结果:{aaa,bbb,ccc,ddd,hhh},{eee,fff},{ggg}
- 淘宝打折骗局--尤其硬盘
- 编译支持mp3的sox