广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot使用MyBatis-Plus解决Invalid bound statement异常
  • 764
分享到

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

2024-04-02 19:04:59 764人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录前言缘由解决问题总结前言 本篇文章主要介绍关于我在SpringBoot中使用mybatis-Plus是如何解决Invalid bound statement (not found

前言

本篇文章主要介绍关于我在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
## 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 异常内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot使用MyBatis-Plus解决Invalid bound statement异常

本文链接: https://www.lsjlt.com/news/168606.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作