栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis Plus 扩展mapper接口与mapper xml文件不同目录 解决方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis Plus 扩展mapper接口与mapper xml文件不同目录 解决方案

场景说明

        尽管我使用Mybatis Plus 带来很多方便,但是大多情况下我们需要在一定逻辑下实现对应的业务(失去逻辑的业务没有意义)。

        于是我的做法,使用代码生成器生成Mybatis Plus 基础方法,然后再定义一个逻辑目录如Biz;同时在此目录下再创建对应的service目录、serviceimpl 目录、mapper目录、mapperxml目录。{ps:我没有创建controller目录是因为基础目录里已经有了,直接用就行了}

问题说明

        问题来了,配置好后总是提示mapper找不到相应的方法:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

排查

1.mapper文件名与xml是否一致

2.包名是否一致

3.接口的返回与提交类型是否一致

4.方法名是否一致

5.是否设置扫描mapper注解

排查结果

以上5种都正常配置,甚至我连Mapper 都全部重新写了,问题仍然存在

重新排查

换个思路:

1.先休息一下,随便走一走。

2.查一下别人的文档

新发现

存放mapper文件与存放xml的文件不存一个目录,会不会是这个问题造成的。

把文件放到mapper目录下,运行通过。

原来是xml文件未找到造成的

 

解决

在application.yml中定义xml路径

mybatis-plus:
  global-config:
    db-config:
      id-type: auto
  mapper-locations: classpath:com/example/hrm/complexBiz/mapper/xml/*.xml
总结

        最近一段时间一直在做项目调研,码子搞少了,所以花了近4个小时才解决问题。所以程序员如果脱离代码时间稍长一些就要花很大时间熟悉。

原创不易,欢迎收藏或转发,转发请注明出处!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号