【mybatis-plus配置】解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误

目录

问题

解决办法

总结


问题

SpringBoot在整合mybatis-plus的mapper文件时容易出现的一个问题。最近由于想把原先放在windows环境下运行的maven项目部署到ubuntu上运行,但是执行jar包时一直报错BOOT-INT/classes!/mapper/*.xml不在文件系统中,修改了下mapper路径,结果从周一修bug修到周三才解决麻透透了。下面贴一些解决思路

解决办法

  1. mybatis-plus扫描路径解析错误
    这是我的目录结构,仅供参考,将映射文件放置在resource文件下,每一个映射文件(.xml)名需与DAO类名字对应

    这里的扫描是从类路径下开始递归扫描mapper下的xml文件,其实真正解析出来是file:D:/java/projectname/src/main/resource/mapper/*.xml(路径仅供参考,对照自己项目)

    按照这个处理办法我成功在windows上成功运行了项目
  2. 让我麻完了的是当我部署到ubuntu系统上就接着报这个错,很明显的就是xml文件加载失败
    主要原因就是jar包是一个压缩包,不能够按照上述的classpath去解析出绝对路径,访问不到压缩包内部。
    最简单的一个解决办法就是将你的mapper文件夹跟demo.jar(这是你打包的项目jar包)放置在同同一目录下,我这里的目录就是
    |--home
      |--lighthouse
        |--mall
          |--mapper
          |--newbee-mall.jar
    不知道形不形象,看不懂可以私信留言
    然后根据解压路径把绝对路径写入配置文件里,注意这里一定要加上file:(别问为什么强调,问就是痛苦,修bug修了好几天才知道这是必不可少的)最后在idea里clean-package打包项目上传,sudo ./start.sh运行jar包

    最后在idea里clean-package打包项目上传,sudo ./start.sh运行jar包
    成功运行!

总结

这是我在大三实习期遇到最头疼的了(还有一个nacos版本兼容也花了我好几天去查资料),修bug修好几天,加上正在考研复习阶段,这个项目也算告一段落了,等我把项目用Nginx代理到服务器上会再整理出一篇博客出来介绍给大家了解。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学不会c++吃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值