SpringBoot使用MyBatis-Plus解决Invalid bound statement异常

SpringBoot使用MyBatis-Plus解决Invalid bound statement异常

目录

前言

缘由

解决问题

总结

前言

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

Mybatisxml文件不在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引入进去的(这个就是我前文提到的架构改变了)。注意这两个是重点。我猜测他们不会配置的点应该就是这个原因了吧。

解决问题

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

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异常的文章就介绍到这了,更多相关SpringBoot 异常内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    酷睿I7 配置

    酷睿I7 配置,配置,玩家国度啦华硕 Rampage II Extreme(3800元)如果米不够,也可以把Extreme改为Gene,不过是小板内存推荐金士顿6G DDR3 2000骇

    鼠标不能拖动文件了

    鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电脑鼠标无法拖动软件图标了,怎么办鼠标不能滚动怎么调整电脑鼠标不能进行任何

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    查看配置:酷睿i3530集展示办公平台

    查看配置:酷睿i3530集展示办公平台,,由于时间和精力的关系,我们不可能对所有的配置进行评论,希望我们能理解,我希望我们的评论能在那些需要帮

    3500元超额值学生娱乐结构的优化配置

    3500元超额值学生娱乐结构的优化配置,,作为一个DIY的主流用户领域的学生,每个用户51学生攒机的高峰。因为学生用户没有稳定的收入来源,攒机

    如何解决机箱内电气箱的漏电问题

    如何解决机箱内电气箱的漏电问题,,故障现象; 电脑柜或电熨斗断电,触摸,发麻,像针一样。 解uff1a 这是插座的电线接线错误。火线与零线交换

    计算机蓝屏故障的计算机蓝屏解决方案

    计算机蓝屏故障的计算机蓝屏解决方案,,电脑蓝屏电脑故障经常使用电脑的朋友经常遇到,因为电脑蓝屏是一个非常普遍的现象,所以很难预测,什么时