Idea中运行Maven/Gradle项目报错Invalid bound statement (not found): com.xx.dao.SysSettingMapper.findAll()

本文主要是介绍Idea中运行Maven/Gradle项目报错Invalid bound statement (not found): com.xx.dao.SysSettingMapper.findAll(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
    • 1.Maven/Gradle默认的web目录结构
  • 问题
  • 原因
  • 解决
    • Maven中
    • Gradle中
  • 总结
  • 其它

前言

1.Maven/Gradle默认的web目录结构

若我们没有在pom.xml/build.gradle中显示设置resources/sourceSets,则Maven/Gradle默认的项目目录结构:

srcmainjava   			// source 根目录resources 		// resources 根目录testjava			// test source 根目录resources  		// test resources 根目录

在gradle中,等效于在build.gradle里有以下配置:

sourceSets {main {java {srcDirs = ['src/main/java']}resources {srcDirs = ['src/main/resources']}}test {java {srcDirs = ['src/test/java']}resources {srcDirs = ['src/test/resources']}}
}

当然,我们可以不使用默认的目录结构,这是就需要自定义sourceSets,譬如:

sourceSets {main {java {srcDirs = ['src/java']}resources {srcDirs = ['src/resources']}}
}

若我们只是想在默认的sourceSets的基础上新增一些目录,就可以这么写:

sourceSets {main {java {srcDir 'otherDir/src/main/java'}}
}

问题

Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xx.dao.SysSettingMapper.findAllat org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)at com.sun.proxy.$Proxy38.findAll(Unknown Source)at com.xx.service.impl.SysSettingServiceImpl.findAllSysSetting(SysSettingServiceImpl.java:30)

原因

报错的原因时因为在编译输出目录没有找到mapper文件
在这里插入图片描述
mapper文件在源码中的src/main/java中:
在这里插入图片描述

那么我们的mapper文件为什么没有被编译输出呢?因为idea在构建Maven/Gradle项目时,默认只会编译src/main/java下的java文件和src/main/resource的资源文件。而src/main/java下的资源文件会被忽略!

解决

Maven中

[pom.xml]

<resources><resource><!--- 指定目录 ----><directory>src/main/java</directory><includes><!--- 指定xml文件----><include>**/*.xml</include></includes><filtering>false</filtering></resource>
</resources>

Gradle中

见Idea中Gradle插件的“Build and run“设置项,文章中名为"mapperXmlCopy"的task

总结

所以为了避免这个问题导致浪费时间,最好不要将mapper文件放在java目录下,而是放在resources目录下。

其它

参考https://blog.csdn.net/Icannotdebug/article/details/83081745
参考https://blog.csdn.net/qq_43519310/article/details/89388068

这篇关于Idea中运行Maven/Gradle项目报错Invalid bound statement (not found): com.xx.dao.SysSettingMapper.findAll()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/383730

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.