记Mybatis的坑,解决Error attempting to get column ‘name‘ from result set,Cannot determine value type from

2023-05-16

首先上报错:

org.springframework.dao.DataIntegrityViolationException: Error attempting to get column ‘name’ from result set. Cause: java.sql.SQLDataException: Cannot determine value type from string ‘用户名’

从字面上理解,这个报错是因为Mybatis查完数据之后,没法把查出来的东西放到实体类里面。
这种情况一般分为这几种
1、数据库的字段跟实体类的字段对不上号。比如数据库里面是name,实体类里面是username,就对不上了。
2、数据库的字段类型,跟实体类的字段类型对不上。比如user_id在数据库中是int,到实体类里面是别的东西。

然而,我检查了好久自己的实体类和数据库,发现是对的上的。

上代码

@Data
public class DataTotalVo
{
    String unit;
    String name;
    long value;

    public DataTotalVo(String unit, String name, long value)
    {
        this.unit = unit;
        this.name = name;
        this.value = value;
    }
}

对比一下数据库,数据库内的数据类型也没问题。
很显然,我好像遇到了一个搜不到的问题,搜来搜去,其他答案都指向数据类型不匹配和字段不匹配。
通过跟正常的接口对比。以及找mybatis的相关教程,才发现,mybatis查完数据之后,会调用构造方法,默认会调用无参构造初始化对象,但是此处使用了工具自动生成无参构造,应该会正常调研,但我观看打包完的代码之后,发现打包编译好的代码里面并没有无参构造,原来,是下面这个有参构造的问题。
如果使用了工具帮你自动生成get、set方法和无参构造,那么,就尽可能不要自己写带参数的构造方法,会将工具生成的无参构造方法覆盖掉。如果硬要写,那就自己把无参构造方法也写一遍。

正确的代码

@Data
public class DataTotalVo
{
    String unit;
    String name;
    long value;

    public DataTotalVo(String unit, String name, long value)
    {
        this.unit = unit;
        this.name = name;
        this.value = value;
    }
    public DataTotalVo()
    {
        
    }
}

果然,,有了无参构造方法之后,完美解决报错

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

记Mybatis的坑,解决Error attempting to get column ‘name‘ from result set,Cannot determine value type from 的相关文章

随机推荐

  • CentOS7 使用RPMBUILD 编译 Openssh rpm包并安装

    若要进行生产环境的操作 xff0c 请务必看完整篇文档 实验环境 xff1a Centos7 4 离线系统 目前已经成功完成了openssh 9 1p1的编译 1 准备openssh源码包 在home目录开始 xff0c 设置工作目录 sp
  • Linus工作室 2021年 PB级存储方案

    来自于加拿大Linux 工作室 本文章仅整理内容 xff0c 另外还有一些本人的理解 实际上这已经是Linux PB计划第二代了 xff0c 比第一代更加NB 原视频地址 xff1a https www bilibili com video
  • 搭建本地yum repo

    在一些离线环境中无法使用在线的yum repo xff0c 只能使用本地的yum仓库 搭建的方式有如下几种 xff1a 使用本地meida使用本地media搭建远程服务器自建repo mirror xff08 施工中 xff09 1 使用本
  • Linux 系统安全加固篇之安全加固脚本

    该专栏内的脚本都会定期更新 xff0c 请注意变化 脚本适用于Centos 7 x系列 xff0c 同样支持Redhat 7 x系列 使用之前建议通读脚本注释 xff0c 并确认不会影响你现在在用的业务 注意脚本内部包含一定的参数 xff0
  • Docker导出正在使用中的镜像

    Docker 导出正在使用中的容器镜像 span class token comment xff01 bin sh span span class token assign left variable IMAGE DIR span span
  • Windows 10 数据恢复与预防数据丢失指南

    Windows 数据恢复与预防数据丢失指南 这个思路适合所有的windows版本 xff0c 但是有些数据恢复软件只能兼容新版系统 xff0c 这些不在我们的讨论范围内 如果你在使用电脑时不慎删除了一个重要的文件 xff0c 那么你可以在你
  • Flask SqlAlchemy Postgres 场景下如何使用右连接(Right Join)

    在Sqlalchemy中只有左连接 xff0c 而没有设计右连接 虽然说左右连接可以相互转换 xff0c 但是有些特定的场景下还是没有办法交换位置 所以我们选择了替代方案 xff0c 使用SqlAlchemy的全连接 FULL JOIN F
  • Nexus 3 清理docker镜像

    该文章提供了一种清理nexus3中存储的docker镜像的一种新思路 查看docker repo 比如你的docker repo名字叫做test repo xff0c 然后在nexus3首页的seatch下面找到docker xff0c 点
  • CentOS 7通过RPMbuild方式离线安装Openssl

    对于Centos7 最大兼容版本为1 1 1x 这里的x指代最新的版本标签 截止到文档编写时 最新的版本号为1 1 1t 编译流程 安装编译工具 yum y span class token function install span sp
  • vmware CentOS7图形界面与命令行界面切换

    在图形界面使用 ctrl 43 alt 43 F2切换到dos界面 dos界面 ctrl 43 alt 43 F2切换回图形界面 在命令上 输入 init 3 命令 切换到dos界面 输入 init 5命令 切换到图形界面 如果想系统默认以
  • AI Stable Diffusion Prompt参数【一】

    AI Stable Diffusion Prompt参数 一 配置场景1 草丛里的女性promptNegative Prompt结果 场景2 雨中披头散发的女孩promptNegative Prompt结果 场景3 一个女孩和她的朋友在逛街
  • Android Studio配置优化最全详解

    适合第一次安装AS的新手 xff0c 感谢网上的资源 是不是很多同学已经有烦恼出现了 xff1f 电脑配置已经很高了 xff0c 但是每次运行Android程序的时候就很卡 xff0c 而且每次安装运行程序都要等待很长时间 xff0c 如果
  • 解决Centos firewalld导致的docker容器内无法访问外网,无法访问其他容器(host没办法解析)

    开启 NAT 转发 firewall cmd permanent zone 61 public add masquerade 检查是否允许 NAT 转发 firewall cmd query masquerade 禁止防火墙 NAT 转发
  • 在JVM中多个应用程序共享jvm内存吗

    每运行一次main 函数 xff0c 就生成一个jvm内存模型实例 xff0c 他们互不相干 xff0c 互不干扰 xff0c 不共享内存和数据 验证方法 xff1a 本地创建两个带main方法的测试类 xff0c 在程序中打断点 xff0
  • java HttpURLConnection 下载网络图片 图片损坏

    对于使用java net 包下的 HttpURLConnection获取图片流 下载图片 xff0c 个别图片打开显示图片损坏的 xff0c 可以使用 HttpClients工具类试试 代码如下 import org apache http
  • Ubuntu 安装与使用UFW防火墙 | ufw与iptables

    iptables 是一个通过控制 Linux 内核的 netfilter 模块来管理网络数据包的流动与转送的应用软件 xff0c 其功能包括不仅仅包括防火墙的控制出入流量 xff0c 还有端口转发等等 iptables 内部有表 table
  • 《计算机网络基础》笔记------ 计算机网络概述(一)

    目录 1 计算机网络的基本概念 1 1 计算机网络的定义 所谓计算机网络就是利用通信设备和线路将地理位置不同 功能独立的多个计算机系统互连起来 xff0c 并通过功能完善的网络软件实现网络中资源共享和信息传递的系统 定义中的要点 xff1a
  • MATLAB Win10分辨率低的蜜汁改进方法

    蜜汁耦合 xff0c 不喜勿喷 我的matlab2014用在win10系统里分辨率始终非常模糊 xff0c 不知道该怎么调节 直到昨晚 xff0c 我在一个变量上单击鼠标右键 xff0c 只见matlab一闪 xff0c 突然变成的小而清晰
  • Ubuntu一直卡在登录界面的解决办法

    遇到这个问题 xff0c 我尝试卸载NVIDIA驱动后 xff0c 重启后 xff0c 成功进入系统 因此判断 xff0c 是NVIDIA驱动导致的 每个人系统配置和情况有所不同 xff0c 仅供参考 我的电脑配置 xff1a Window
  • 记Mybatis的坑,解决Error attempting to get column ‘name‘ from result set,Cannot determine value type from

    首先上报错 xff1a org springframework dao DataIntegrityViolationException Error attempting to get column name from result set