记录:解决with invalid types() or values()...问题【亲测有效】

news2025/1/19 23:14:47

👨‍🎓作者:bug菌
✏️博客: CSDN、 掘金、 infoQ、 51CTO等
🎉简介:CSDN博客专家,C站历届博客之星Top50,掘金/InfoQ/51CTO等社区优质创作者,全网粉丝合计10w+,对一切技术感兴趣,重心偏Java方向;硬核公众号「 猿圈奇妙屋」,欢迎小伙伴们的加入,一起秃头,一起变强。
..
✍️ 温馨提醒:本文字数:1999字, 阅读完需:约 5 分钟

        嗨,家人们,我是bug菌呀,我又来啦。今天我们来聊点什么咧,OK,接着为大家更《springboot零基础入门教学》系列文章吧。希望能帮助更多的初学者们快速入门!

        如果小伙伴们在批阅文章的过程中觉得文章对自己有帮助,请别吝啬手中的赞呀,大胆的把文章 点亮👍,相信你点赞了好的文章,平台也会经常给你推荐高质量好文,您的点赞三连( 收藏+关注+留言)就是对bug菌写文道路上最好的鼓励与支持😘。时光不弃🏃🏻‍♀️,创作不停💕,加油☘️

一、前言🔥

环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE

二、问题描述🔥

        原报错截图,大家情况,一眼能看来是什么问题吗?

重点报错code如下: 

exceptionInfo:"nested exception is org.apache.ibatis.reflection.ReflectionException:Error instantiating class com.example.gyl.entity.PartSupplierResource with invalid types(SaveModel,String) or values(123D1D21,212D1DF2D). Cause: java.lang.IllegalArgumentException:argument type mismatch"

        见状分析error报错这句才是重点,java.lang.IllegalArgumentException:argument type mismatch,那么你就成功被带偏了定位思路,然后去找自己与数据库字段映射的时候,参数类型是否不匹配,检查自己的下数据类型检查下来其实毫无问题,怀疑人生,于是一股脑的就去核对自己的字段类型是否与实体映射字段类型是否一致,乃至重新生成一遍。结果还是无果。

        所以当你遇到报错,千万不是只在一个点上杠一根筋,这也是见我同事事后过来找我跟我分享的这个问题,其实当我第一眼看到这个报错,我也是第一时间觉得是他写的映射字段类型有问题, 比如数据库是Date类型,而你入库时又是String类型,这肯定是类型不同导致插入报错了。

        重点其实就在这:with invalid types(SaveModel,String) or values(123D1D21,212D1DF2D).

        针对这个报错,我同事只是在PartSupplierResource实体类中忘了加无参构造而已。但针对该报错,还有可能是实体类Bean中的get/set方法与成员变量不一导致。

三、解决方案🔥

        在你的实体类Bean中加入无参构造函数即可。或者核对你实体类Bean中的get/set方法与成员变量是否一致。

public PartSupplierResource(){
    //无参构造函数
}

拓展:  

为什么实体类中写了有参构造函数不写无参构造函数就会报错呢? 

答:因为Mybatis框架会调用这个默认构造方法来构造实例对象。

        即Class类的new Instance()方法,这个方法就是通过调用默认构造方法来创建实例对象的.如果实体类中没有提供任何构造方法虚拟机会自动提供默认构造方法(无参构造器),但是如果你写了其他有参数的构造方法的话,虚拟机就不再为你提供默认构造方法,这时就必须手动把无参构造器补上,否则new xxx()或者映射实体类是会报错的。

        所以默认的构造方法不是必须的,只在有多个构造方法时才是必须的,这里“必须”指的是“必须手动写出来”。
        当查询的时候返回的实体类是一个对象实例,是Mybatis动态通过反射生成的Class.forName(“className”).newInstance();需要对应的类提供一个无参构造函数,所以当实体类没有自定义构造函数,这时候其实就不用关心它的缘由了。

        这可能很多小伙伴会忽略的一个小细节,虽然没多大的技术难点,但是报错起码第一眼你应该要反应过来!基础玩扎实咯,加油。

... ...

        ok,以上就是我这期的全部内容啦,如果还想学习更多,可以看看我的往期热文推荐哦,不积跬步,无以至千里; 不积小流,无以成江海,一口吃不成一个大胖子,加油!咱们下期拜拜~~

四、往期推荐🔥

  • springboot系列(一):如何创建springboot项目及启动
  • springboot系列(二):yaml、properties两配置文件介绍及使用
  • springboot系列(三):多环境切换,实例演示
  • springboot系列(四):stater入门
  • springboot系列(五):史上最最最全springboot常用注解
  • springboot系列(六):mysql配置及数据库查询
  • springboot系列(七):如何通过mybatis-plus实现接口增删改查
  • springboot系列(八):mybatis-plus之条件构造器使用手册
  • springboot系列(九):mybatis-plus之如何自定义sql
  • springboot系列(十):mybatis之xml映射文件>、<=等特殊符号写法
  • springboot系列(十一):实现多数据源配置,开箱即用
  • springboot系列(十二):如何实现邮件发送提醒,你一定得会(准备篇)
  • springboot系列(十三):如何实现发送普通邮件?你一定得会
  • springboot系列(十四):如何实现发送图片、doc文档等附件邮件?你一定得会
  • springboot系列(十五):如何实现静态邮件模板发送?你一定得会
  • springboot系列(十六):如何实现发送邮件提醒,附完整源码
  • springboot系列(十七):集成在线接口文档Swagger2
  • springboot系列(十八):如何Windows安装redis?你玩过么
  • springboot系列(十九):如何集成redis?不会我教你
  • springboot系列(二十):如何通过redis实现手机号验证码功能 
  • ... ...

文末🔥

        安利一个超牛超硬核的专栏《springboot零基础入门教学》,此专栏包含数个完整项目从零到一的搭建,以及对SpringBoot入门程序原理剖析,在会用的基础上剖析源码加深理解并拓展知识点.希望能帮助到更多小伙伴们。

        我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

感谢认真读完我博客的铁子萌,在这里呢送给大家一句话,不管你是在职还是在读,绝对终身受用。
时刻警醒自己:
抱怨没有用,一切靠自己;
想要过更好的生活,那就要逼着自己变的更强,生活加油!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红黑树(C++实现)

文章目录红黑树的概念红黑树的性质红黑树结点的定义红黑树的插入红黑树的查找红黑树的验证检测是否满足二叉搜索树检测是否满足红黑树的性质红黑树与AVL树的比较包含上述功能的红黑树代码红黑树的概念 红黑树,是一棵二叉搜索树,但在每一个结点上增加一个存储位表示结点的颜色,可…

《Netty》从零开始学netty源码(三十五)之DefaultChannelPromise

DefaultChannelPromise 在分析Unsafe或者ChannelPipeline的方法时经常出现Promise类,它用来保存channel的状态值,默认使用的是DefaultChannelPromise,接下来分析这个类。 类结构图 属性值 DefaultChannelPromise中有一个属性result&#xf…

Python之测试框架搭建【一】(毛坯框架)

前言一、框架基础(从最小步骤入手_毛坯框架) 1)首先我们自己建立一个项目,这个项目里面有testcases文件夹,testdatas文件夹2)在testdatas里面放测试数据3)建立一个main文件4)输出测试…

ASP.NET 记录 HttpRequest HttpResponse HttpServerUtility

纯属个人记录,会有错误 HttpRequest Browser是获取客户端浏览器的信息 Cookies是获取客户端的Cookies QueryString是获取客户端提交的数据 ServerVariables是获取服务器端或客户端的环境变量信息 Browser 语法格式: Request.Browser[“浏览器特性名”] 常见的特性名 名称说…

【grafana】使用多级变量解决Granfana模板变量中的大小限制

前言 最近对公司的Kafka 集群集成了 exporter prometheus granfana 服务,我们将 topic 变量抽象成模板变量,此时发现 granfana 变量有 10k 的个数限制。导致我们显示 topic 名称不全。 效果如下:全选后只有 10k 个变量。 解决 一番百度…

【Python】【进阶篇】二十二、Python爬虫的BS4解析库

目录二十二、Python爬虫的BS4解析库22.1 BS4下载安装22.2 BS4解析对象22.3 BS4常用语法1) Tag节点22.4 遍历节点22.5 find_all()与find()1) find_all()2) find()22.6 CSS选择器二十二、Python爬虫的BS4解析库 Beautiful Soup 简称 BS4(其中 4 表示版本号&#xff0…

C语言函数大全-- k 开头的函数

C语言函数大全 本篇介绍 C语言函数大全-- k 开头的函数 1. kcalloc 1.1 函数说明 函数声明函数功能void *kcalloc(size_t n, size_t size, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核空间分配一块连续的指定大小的内存,它与标准库函数 ca…

RK3568平台开发系列讲解(设备驱动篇)内核空间与用户空间数据交互实验

🚀返回专栏总目录 文章目录 一、内核空间与用户空间二、用户空间和内核空间数据交换三、实验程序沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍对内核空间与用户空间的数据交换功能。 一、内核空间与用户空间 Linux 系统将可访问的内存空间分为了两个部…

指针的运算

在C语言中,指针是一个非常重要的概念。指针可以用来访问和修改内存中的数据,也可以用来进行指针的运算。在本篇博客中,我们将探讨指针的解引用、指针与整数的加减运算、同类型指针间的减法运算和指针的关系运算。 指针的解引用 在C语言中&a…

网络安全运维人员面临的痛点分析

1. 工作压力大:网络安全运维人员需要时刻关注系统的安全状况,发现并修复漏洞,保护系统免受攻击和数据泄露的风险。这需要他们不断学习新知识、掌握新技能,并且在短时间内快速响应和处理各种安全问题,这种高强度的工作压…

Arcgis小技巧【12】——ArcGIS标注的各种用法和示例

标注是将描述性文本放置在地图中的要素上或要素旁的过程。 本文整理了ArcGIS中的各种标注方法、可能遇到的问题和细节,内容比较杂,想到哪写到哪。 一、正常标注某一字段值的内容 右键点击【属性】,在【标注】选项卡下勾选【标注此图层中的的…

pr 是什么——可以做什么

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:小李会科技的…

Boosting算法预测银行客户流失率

Boosting算法预测银行客户流失率 描述 为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对…

TS+Axios的封装(vue3.x环境)

1. 创建axios实例 # 项目src下新建utils/request.ts # npm i axios 是必须滴 import axios from axiosconst baseURL https://ilovesh.com // 基地址 const instance axios.create({baseURL,timeout: 3000 // 请求超时时间 (3秒超时) })export { baseURL, instance } 2. 添加…

龙蜥社区理事长马涛当选开放原子开源基金会 TOC 副主席

近日,开放原子开源基金会举办了技术监督委员会(以下简称“TOC”)第六十九次全体会议,会上针对新一届 TOC 成员改选进行了公正公平的投票,龙蜥社区理事长马涛当选开放原子开源基金会 TOC 副主席。 (图左二/龙…

(排序8)归并排序(非递归实现),归并排序的外部排序应用(文件排序)的简单了解

归并排序递归版本 void _MergeSort(int* arr, int left , int right, int* tmp) {if (left > right){return;}int mid (left right) / 2;_MergeSort(arr, left, mid, tmp);_MergeSort(arr, mid 1, right, tmp);int begin1 left;int end1 mid;int begin2 mid 1;int e…

一文掌握 Python、Anaconda、PyCharm 的安装和使用

本文将介绍一个较为全面的 Python 开发环境的搭建与基本使用,包括 Python 解释器的安装使用、PyCharm 编辑器的安装使用、Anaconda 的安装使用和库管理工具 pip 的使用。 PyCharm Anaconda 是一个很完备的 Python 开发环境,也是绝大多数开发者使用的开发…

E6410安装PVE直通显卡安装LibreELEC系统

文章目录查看cpu是否支持直通音频笔记本关盖设定BIOS设定启动内核IOMMU支持添加驱动黑名单绑定核显到vfio模块然后新建一个虚拟机安装LibreELEC注意事项重启 VM 时 GPU 直通失败如果直通后遇到问题了,开机出现各种问题,进不去系统,或者网页进…

【MySQL数据库原理】数据库批量导入美团NLP分类数据集Meituan-Dianping/asap

目录 数据集简单介绍完整代码实现参考资料数据集简单介绍 美团点评数据集 (Meituan-Dianping/asap) 是一个中文自然语言处理 (NLP) 数据集,由美团点评公司收集和发布。该数据集用于评估和开发中文文本分类和情感分析模型,包括情感极性分类、食物安全文本分类和自定义分类等任…

【分布式应用】Zabbix——安装

目录 第一章zabbix概述 1.1.什么是监控概念 1.2.zabbix概述 1.3.zabbix 主要特点 1.4.zabbix主要功能 1.5.zabbix运行机制 1.6.zabbix 监控原理 1.7zabbix的架构,数据流向以及原理在图中做总结 1.8.数据采集模式 1.9.zabbix监控模式 第二章.安装 部署 za…