如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt

2024-01-12

在这里插入图片描述


博主猫头虎的技术世界

???? 欢迎来到 猫头虎的博客 — 探索技术的无限可能!

专栏链接

???? 精选专栏

  • 《面试题大全》 — 面试准备的宝典!
  • 《IDEA开发秘籍》 — 提升你的IDEA技能!
  • 《100天精通Golang》 — Go语言学习之旅!

领域矩阵

???? 猫头虎技术领域矩阵
深入探索各技术领域,发现知识的交汇点。了解更多,请访问:

  • 猫头虎技术矩阵
  • 新矩阵备用链接

如何解决Mybatis-plus与Mybatis不兼容的问题 ????‍????

摘要

在本文中,我们将深入探讨Mybatis-plus与Mybatis版本不兼容的问题,以及如何有效解决这一常见的Java开发挑战。我们会探讨问题的根本原因,提供具体的解决方案,包括版本降级和升级的步骤,同时也会提供实用的代码示例。这篇文章对于那些面临相似问题的Java开发者、Mybatis使用者、软件工程师以及对Java技术感兴趣的读者都将是一份宝贵的资源。关键词包括Mybatis, Mybatis-plus, Java, 版本不兼容, 解决方案等,确保本文能够被更多技术爱好者通过搜索引擎找到。

引言

在使用Mybatis-plus和Mybatis时,开发者可能会遇到版本不兼容的问题,这会导致应用程序无法正确运行。这类问题通常表现为方法不存在的错误,例如本文案例中的 org.apache.ibatis.session.Configuration.setArgNameBasedConstructorAutoMapping(Z)V 方法不存在。了解并解决这些问题对于保持项目的稳定性和可用性至关重要。

正文

问题描述

在使用Mybatis-plus 3.5.2和Mybatis 3.5.9时,开发者可能会遇到一个典型的错误,即方法不存在错误。这是由于Mybatis-plus的某些版本与Mybatis的相应版本不兼容所致。

错误分析

报错信息如下:


An attempt was made to call a method that does not exist. The attempt was made from the following location:
    com.baomidou.mybatisplus.core.MybatisXMLConfigBuilder.settingsElement(MybatisXMLConfigBuilder.java:272)

The following method did not exist:
    org.apache.ibatis.session.Configuration.setArgNameBasedConstructorAutoMapping(Z)V

这表明 MybatisXMLConfigBuilder 尝试调用一个在 org.apache.ibatis.session.Configuration 中不存在的方法。

解决方案

解决这个问题有两种主要方法:降低Mybatis-plus的版本或升级Mybatis的版本。

降级Mybatis-plus版本
  1. 将Mybatis-plus的版本从3.5.2降级到3.5.1。

  2. 修改pom.xml文件中的依赖项,如下所示:

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-core</artifactId>
        <version>3.5.1</version>
    </dependency>
    
  3. 重新构建项目以确保更改生效。

升级Mybatis版本
  1. 将Mybatis的版本从3.5.9升级到一个与Mybatis-plus 3.5.2兼容的更高版本。

  2. 修改pom.xml文件中的依赖项,如下所示:

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>[合适的新版本]</version>
    </dependency>
    
  3. 重新构建项目以确保更改生效。

小结

根据项目需求和其他依赖关系的兼容性,开发者可以选择降级Mybatis-plus或升级Mybatis。通常,保持依赖项的最新版本有助于利用最新的功能和修复。

参考资料

  1. Mybatis-plus官方文档
  2. Mybatis官方文档
  3. Maven官方文档

核心知识点总结

  • 问题:Mybatis-plus与Mybatis版本不兼容导致的方法不存在错误
  • 解决方案一:降级Mybatis-plus版本到3.5.1
  • 解决方案二:升级Mybatis版本以匹配Mybatis-plus
  • 操作步骤:修改pom.xml依赖,重构项目

总结

处理Mybatis-plus和Mybatis的兼容性问题是Java开发中常见的任务。通过正确地管理项目依赖,并理解不同版本间的兼容性,可以有效地解决这类问题。希望本文提供的解决方案和步骤能帮助你在遇到类似问题时迅速解决。

如果你对本文内容有任何疑问或需要更多详细信息,欢迎点击下方名片,了解更多! ????????‍????

在这里插入图片描述

???? 更多信息 :有任何疑问或者需要进一步探讨的内容,欢迎点击下方文末名片获取更多信息。我是猫头虎博主,期待与您的交流! ????????

???? 技术栈推荐
GoLang, Git, Docker, Kubernetes, CI/CD, Testing, SQL/NoSQL, gRPC, Cloud, Prometheus, ELK Stack

???? 联系与版权声明

???? 联系方式

  • 微信: Libin9iOak
  • 公众号: 猫头虎技术团队

⚠️ 版权声明
本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问 猫头虎的博客首页

点击 下方名片 ,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

在这里插入图片描述

点击 下方名片 ,加入IT技术学习矩阵。一起探索科技的未来,共同成长。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt 的相关文章

  • 盘点那些年我们一起玩过的网络安全工具

    大家好 我是IT共享者 这篇文章给大家盘点那些年 我们一起玩过的网络安全工具 一 反恶意代码软件 1 Malwarebytes 这是一个检测和删除恶意的软件 包括蠕虫 后门 流氓 拨号器 间谍软件等等 快如闪电的扫描速度 具有隔离功能 并让
  • 数据采集才是MES系统的核心内容

    一 数据采集在MES管理系统中的应用 1 设备数据采集 MES管理系统通过与生产设备的连接 可以实时采集设备运行状态 产量 质量等相关数据 这有助于企业及时掌握设备运行状况 优化设备资源配置 提高设备利用率 2 工艺数据采集 MES管理系统
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • Jenkins流水线怎么做?

    问CHAT Jenkins流水线怎么做 CHAT回复 Jenkins流水线是一种创建 测试和部署应用程序的方法 以下是为Jenkins创建流水线的步骤 1 安装Jenkins 首先你需要在你的服务器上安装Jenkins 这个过程可能会根据你
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • 【图像融合】基于联合双边滤波和局部梯度能量的多模态医学图像融合研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 图像 文章
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 一台java服务器可以跑多少个线程?

    一台java服务器可以跑多少个线程 一台java服务器能跑多少个线程 这个问题来自一次线上报警如下图 超过了我们的配置阈值 打出jstack文件 通过IBM Thread and Monitor Dump Analyzer for Java
  • GitLab CI 实现项目A更新代码自动触发项目B更新错误码文档

    一 CI CD简介 CI CD 是持续集成 Continuous Integration 和持续交付 持续部署 Continuous Delivery Continuous Deployment 的缩写 是一种软件开发和交付的最佳实践 这两
  • 明显的死锁 为未分配的挂起任务创建紧急线程

    我正在将 mysql 与 mybatis 一起使用 并且在我们的实时服务器上遇到此错误 com mchange v2 async ThreadPoolAsynchronousRunner DeadlockDetector 6538f8f2
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • Maven读取属性文件中的环境变量

    如何读取属性文件中的系统环境变量 我正在使用 MyBatis maven 插件进行数据库迁移 MyBatis 根据环境使用属性文件 我正在尝试读取属性文件中的环境变量 例如 开发 property username env username
  • Intellij 无法理解 SQL 字符串

    大家 我正在制作一个玩具网络应用程序 它使用 Spring Boot 和 Mybatis Mybatis映射器配置Java接口 我希望 Intellij 能够理解 SQL 字符串 但事实并非如此 我期待像下面这样的 如果它理解 Intell
  • 使用 myBatis 从数据库中以 byte[] 的形式获取 blob

    我在一个项目中使用 spring MyBatis 1 2 0 其中有一个查询从 Oracle 11g 数据库中的 BLOB 字段获取数据 我想以字节数组 byte 的形式检索该字段 我的代码是
  • (如何)我可以在 MyBatis 的 SQL 查询中安全且与数据库无关地使用“LIKE”吗?

    In MyBatis http www mybatis org 您可以标记参数应插入到 SQL 中的位置 如下所示 从人员中选择 其中 id id 此语法会激活正确的转义等 以避免 SQL 注入攻击等 如果您有可信输入并且想要跳过转义 您可

随机推荐