一、问题如图

 二、问题描述

在使用若依RuoYi-Vue开发一段时候后,某天更新代码启动报:Invalid bound statement (not found): com.xbo.system.mapper.SysConfigMapper.selectConfigList

解释:无效的绑定语句(未找到)

说明 mybatis的*Mapper.xml没有找到selectConfigList方法,但是若依开源代码,git了一个初始版本后这个config就没有改动过,排除不存在这个情况,也不会去删除这个系统基础的代码。

所以想到是否是没有读取到xml文件呢 ?

验证这个问题,我重新拉取了一份若依RuoYi-Vue分离版代码,正常启动没有问题。然后将SysConfigMapper.xml文件备份删除后重启,结果相当然,出现了相同的问题。类推删除任意xml文件都会出现相同问题,这里可以自行验证问题。

得出结果:项目启动没有读取到 *Mapper.xml

三、解决办法

1、检查*Mapper.xml的resources目录是否是资源目录;

如果不是:resources=>右键=>找到如下图:

 确定后重启,查看是否还报相同问题。如果没有问题解决。

2、如果还出现相同问题:

找到ruoyi-system模块下pom.xml文件找到如下代码:

 添加如下代码:

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>
将src/main/resources 或者 src/main/java下mybatis的mapper.xml启动加载时都一道打包

解决收工,继续码农!

觉得有用,多多点赞收藏,加油码农人! 

代码改变世界!!!

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐