tk mybatis报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方案_tkmybaits invalid bound statement (not found):-程序员宅基地

技术标签: 踩坑总结  mybatis  Mybatis  

背景:

在应用A中引入组内另一个应用B的SDK时,出现该报错,而且有一个比较奇怪的现象:使用mybatis内置的方法(比如selectByPrimaryKey,selectByExample之类)时,功能正常,不报错,但是如果调用的dao方法是自己在mapper.xml中写的sql,就会出现标题中的错误。

解决方案:

网上的各种方法并不适用于该情况,经过检查,application.properties和mybatis-config.xml之类的配置文件中配置都正常;并且该问题是在引入新的sdk时才出现的,未引入该sdk时,并不会出现该错误。所以推断是引入的sdk中的mybatis配置覆盖了项目中原本的配置,导致项目找不到自己的mapper。

最终经过检查,引入的sdk的pom中有引入另外一个带有mapper配置的jar(该jar包是sdk所属应用B中的一个模块),该模块中配置了应用B的mybatis的mapper配置;实际上该sdk并不需要依赖应用B中的这个模块,所以去掉了sdk中该模块的pom依赖,重新发布sdk后,解决该问题。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jian876601394/article/details/122329168

智能推荐

API网关之动态路由_api路由-程序员宅基地

文章浏览阅读1.3k次。AIP网关 动态路由_api路由

强一致性 弱一致性 最终一致性-程序员宅基地

文章浏览阅读4.5k次,点赞4次,收藏22次。在足球比赛里,一个球员在一场比赛中进三个球,称之为帽子戏法(Hat-trick)。在分布式数据系统中,也有一个帽子原理(CAP Theorem),不过此帽子非彼帽子。CAP原理中,有三个要素:一致性(Consistency)可用性(Availability)分区容忍性(Partition tolerance)CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分..._强一致性 弱一致性 最终一致性

Android 相册图库功能,按时间排序_android 加载网络图片列表时间轴相册-程序员宅基地

文章浏览阅读8.6k次,点赞4次,收藏21次。TimeAlbum 时间相册功能说明1、图片和视频资源根据日期排序显示。 2、图片视频预览功能,图片、视频预览带缓存功能。 3、单个图片或视频可进行删除及分享操作。 4、多张图片进行分享功能,多张图片和视频进行删除功能。 5、Decoration可自定义扩展。 6、图片显示可自定义扩展。 7、图片视频可自定义预览操作。依赖如何使用只需要继承AlbumFr..._android 加载网络图片列表时间轴相册

echarts动态时间轴,以秒为单位更新_echarts实现以秒为单位的动态折线图显示-程序员宅基地

文章浏览阅读2.2w次。echarts官网上的案例是按天来更新数据的http://echarts.baidu.com/demo.html#dynamic-data2 现在我需要改成以秒为单位动态刷新的案例,类似于股票实时刷新的那种,代码位置http://download.csdn.net/download/u013720726/9963108_echarts实现以秒为单位的动态折线图显示

macOS VSCode 配置 Go 编程环境_failed to run "go env env,-json,goprivate,gomod,go-程序员宅基地

文章浏览阅读1.5k次。macOS VSCode 配置 Go 编程环境笔者使用 macOS BigSur 安装完 Go 1.16.6 和 VSCode Go插件,然后运行时,往往会报诸如下面的错误:build esc: cannot load xxx : malformed module path “xxx”: missing dot in first path elementwarning: GOPATH set to GOROOT (/Users/xxx/go/) has no effect实际上,这都是由于 GO_failed to run "go env env,-json,goprivate,gomod,gowork,goenv,gotoolchain": s

C++多线程并发(三)---线程同步之条件变量_线程同步condition variables-程序员宅基地

文章浏览阅读1.7w次,点赞66次,收藏303次。一、何为条件变量在前一篇文章《C++多线程并发编程(二)—线程同步之互斥锁》中解释了线程同步的原理和实现,使用互斥锁解决数据竞争访问问题,算是线程同步的加锁原语,用于排他性的访问共享数据。我们在使用mutex时,一般都会期望加锁不要阻塞,总是能立刻拿到锁,然后尽快访问数据,用完之后尽快解锁,这样才能不影响并发性和性能。如果需要等待某个条件的成立,我们就该使用条件变量(condition var..._线程同步condition variables

随便推点

Python 爬取红酒网站https://www.vivino.com_vivino网站爬虫-程序员宅基地

文章浏览阅读2.6w次。用到了进程池,代理import requestsimport jsonimport jsonpathimport pymysqlimport queuefrom multiprocessing import Poolimport randomrequests.packages.urllib3.disable_warnings()# 创建连接db = pymysql.c..._vivino网站爬虫

nginx中try_files $uri $uri/ /index.html的作用 和 $uri的含义

的含义是:首先尝试按照请求的URI去寻找对应的文件,如果找不到,再尝试将请求作为目录处理,如果还是找不到,最后就返回。这对于单页应用来说非常有用,因为无论用户请求的是什么URL,服务器都会返回同一个HTML文件(即。:这是Nginx内置的一个变量,代表当前请求的URI,不包括参数部分。例如,如果请求的URL是。:尝试将请求作为目录处理,如果这个目录存在,Nginx会试图返回该目录下的默认文件(通常是。这句话是Nginx服务器配置中的一条指令,用于设置处理请求的策略。都无法找到对应的文件或目录,那么就返回。

KUKA机器人KR3 R540维护保养——更换齿形带

我们知道机器人长时间运行后,部分轴的齿形带会发生磨损,张力也会发生变化,这时就需要更换齿形带。本篇文章还是以KUKA机器人KR3 R540的A5轴为例,对KUKA机器人更换轴A2、A3、A5齿形带的操作方法进行介绍,有需要的可以参考。4、从齿形带轮上取下旧的齿形带A5。2、接下来用T10规格的内梅花扳手将盖罩A5上的4 颗螺丝拧出,放到指定位置,易于保管。1、我们前期需要准备一些工具:开口扳手(7毫米)、内六角梅花扳手、内六角扳手。三、对机器人A2、A3轴齿形带的更换方法步骤和以上类似。

【Qt QML】QLibrary加载共享库中的类

QLibrary是一个用于加载动态链接库(或称为共享库)的类。它提供了一种独立于平台的方式来访问库中的功能。在QLibrary中,可以通过构造函数或setFileName()方法设置要加载的库文件名。当加载库文件时,QLibrary会搜索所有平台特定的库位置,除非传入的文件名具有绝对路径。如果传入的文件名具有绝对路径,那么会首先尝试加载该目录。如果该文件找不到,QLibrary会使用不同的平台特定的文件前缀或后缀再次尝试。

WML(Wireless Markup Language - 无线标记语言)_无线标记语言的特点-程序员宅基地

文章浏览阅读583次。WML  WML(Wireless Markup Language - 无线标记语言)。它是一种从 HTML 继承而来的标记语言,但是 WML 基于 XML,因此它较 HTML 更严格。  WML 被用来创建可显示在 WAP 浏览器中的页面。用WML编写的页面被称为 DECKS。DECKS 是作为一套 CARDS 被构造的。  这种描述语言同我们常听说的HTML语言同出一家,都属于XML语言这一大_无线标记语言的特点

23种设计模式(第三章结构型模式7种)_设计模式符合-程序员宅基地

文章浏览阅读307次。结构型模式结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。结构型模式分为以下 7 种:代理模式适配器模式装饰者模式桥接模式外观模式组合模式享元模式5.1 代理模式5.1.1 概述由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能_设计模式符合