本篇文章主要介绍关于我在SpringBoot中使用MyBatis-Plus是如何解决Invalid bound statement (not found)这个异常的。我先抛一些我在这个途中遇到的一些问题,看看各位了解不了解。

  1. Mybatisxml文件不在resouce下时该如何配置。
  2. 如何去指定mapper-Location的配置。
  3. classpath*classpath的区别是啥
  4. 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引入进去的(这个就是我前文提到的架构改变了)。注意这两个是重点。我猜测他们不会配置的点应该就是这个原因了吧。

解决问题

竟然知道了问题就开始解决问题。

Mybatisxml文件不在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文件是不是一致的,方法名跟xmlid是不是一致的。如果你这两个都对了,再去查你的mapper-locations的配置,这里没问题,再去查编译包。看看xml编译到了不。如果这些都没问题。那人跟代码只要一个能跑就行。

废话时间

其实使用xml跟使用注解的形式都能完成需求,没多大的区别。但是使用xml的可读性,以及易维护性。个人觉得比注解方式强太多了。此次问题的出现,关键在于架构的改变,架构者一想把xmlresource移除,二又想把业务模块热插拔。这个想法是好的。但是做事做一半真的不太可取。

本篇首发于牧码人博客转载请加上此标示。

SpringBoot中使用MyBatis-Plus是如何解决Invalid bound statement (not found)这个异常的相关推荐

  1. 解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题)

    解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题) 参考文章: (1)解决INVALID BOUND STATEMENT (NOT FO ...

  2. mybatis一个怪异的问题: Invalid bound statement (not found)

    2019独角兽企业重金招聘Python工程师标准>>> mybatis一个怪异的问题: Invalid bound statement (not found) 博客分类: mybat ...

  3. mybatis一个怪异的问题: Invalid bound statement not found 作者及来源: babyblue - 博客园 收藏到→_→: 摘要: mybatis一个怪异

    mybatis一个怪异的问题: Invalid bound statement not found 作者及来源: babyblue - 博客园    收藏到→_→: 摘要: mybatis一个怪异的问 ...

  4. 解决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 ...

  5. 解决“Invalid bound statement (not found): com.lzj.admin.mapper.GoodsMapper.getGoodsInfoById”报错

    解决"Invalid bound statement (not found): com.lzj.admin.mapper.GoodsMapper.getGoodsInfoById" ...

  6. mybatis plus报错:Invalid bound statement (not found)

    有的同学,在搭建mybatis plus项目时,遇到Invalid bound statement (not found)的问题,实质上是mapper接口和mapper.xml没有映射起来. 这种情况 ...

  7. 三步教你解决Invalid bound statement (not found): com.xxx.dao.xxxDao.selectByxx错误!!!!很简单

    1 问题实质: dao层(又叫mapper接口)跟mapper.xml文件没有映射 2 问题原因: 出现这种映射问题的原因分为低级原因和更低级原因两种 更低级原因: (1)dao层的方法和mapper ...

  8. MyBatis使用动态代理报 invalid bound statement (not found) 错

    这个问题网上大部分都说xml文件中的路径不对 或者是resources之类的问题,如果那些文章的解决方案解决不了你的问题的话,可以看一下我遇到的这种情况: 前提: mybatis-config.xml ...

  9. 解决Invalid bound statement (not found): com.difeye.dao.UsersMapper.selectUsersB

    今天在做mapper接口开发作业中出现以下错误 查阅百度后,发现相应xml文件所在路径需要和对应接口类所在路径一致,这样maven编译后会把二者放在一起,把蓝色圈圈的内容改成和红色一致就解决了.

  10. 解决Invalid bound statement (not found): dao.UserDao.adduser

    第一种办法 1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应: 2:检查xml的namespace是否和xml文件的package名称一一对应: 3:检 ...

最新文章

  1. 420一个像素多少个字节_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...
  2. X-Frame-Options防止自己的网页放被在别人iframe中
  3. php nginx配置404页面,Nginx实现404页面的几种方法
  4. jenkins之qq企业邮箱配置
  5. 造轮子:前端模板引擎
  6. Hadoop(十二)MapReduce概述
  7. 我亦云云——也谈云计算(3)
  8. Windows server 2003 ××× 配置实例(Site to Site)
  9. 3.Tom猫的实现(帧动画播放)
  10. 这项镜头贴膜技术背后,藏着让VR变轻巧的秘密
  11. 计算机表格怎么加减乘除,在EX表格里怎么进行加减乘除法的计算
  12. 改善羽毛球比赛心理有“妙招”
  13. 【吐槽脑洞】关于逛B站时偶然体验的弹幕互动游戏魏蜀吴三国争霸游戏的一些思考
  14. 阿里巴巴经典智力问题
  15. OpenFOAM 中边界条件的设定【转载】
  16. To 重度拖延症患者
  17. 徒手格斗技巧 源自特种部队 防身必备
  18. 生物化学《第二章糖类》
  19. java swing 大球吃小球游戏 功能完善 完整代码 下载即可以运行
  20. 潛行空間中1~6的編織法(A)

热门文章

  1. 无监督re-ranker,Improving Passage Retrieval with Zero-Shot Question Generation
  2. R语言使用rnorm函数生成正太分布数据、使用stem函数可视化茎叶图、茎叶图很直观的表现出数据的分布情况
  3. STM32开发笔记106:解决ST-LINK的Old ST-LINK firmware/ST-LINK already usde问题
  4. CC00051.elasticsearch——|HadoopElasticSearch.V03|——|ELK.v03Logstash部署.V3|
  5. 利用python批量创建.xsh文件实现Xshell批量登录服务器
  6. 查看已有的docker镜像latest的具体版本号
  7. 平面广告设计课程中发散思维训练
  8. 合并集合 {aaa,bbb,ccc},{bbb,ddd},{eee,fff},{ggg},{ddd,hhh}运算的结果:{aaa,bbb,ccc,ddd,hhh},{eee,fff},{ggg}
  9. 淘宝打折骗局--尤其硬盘
  10. 编译支持mp3的sox