mybatis-plus id主键生成的坑

mybatis-plus id主键生成的坑mybatis-plusid主键生成的坑简要说明错误解决方案一1.修改id字段类型2.调整数据库id字段类型解决方案二添加注解其他`type`类型介绍简要说明由于mybatis-plus会自动插入一个id到实体对象,不管你封装与否,所以有时候导致一些意外的情况发生默认是生成一个长数字字符串(编码不同可能结尾带有字母)错误estedexceptionisorg.apac…

大家好,又见面了,我是你们的朋友全栈君。

简要说明

由于mybatis-plus会自动插入一个id到实体对象, 不管你封装与否, 所以有时候导致一些意外的情况发生

默认是生成一个长数字字符串(编码不同可能结尾带有字母)

错误

ested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.xxx' with value '1110423703487479810' Cause: java.lang.IllegalArgumentException: java.lang.ClassCastException@14041406


大致就是由于自动生成了一个id1110423703487479810, 但是无法放入到integer

解决方案一

1. 修改id字段类型

将id字段类型改为long, 这样就能保证有足够位数放入生成的id

2. 调整数据库id字段类型

将数据库的id字段的长度(改为20位)

解决方案二

如果想要使用id自增的, 就需要把mybatis-plus这个id生成的功能给关掉

添加注解

id字段上加上如下注解即可

 @TableId(value = "id",type = IdType.AUTO)

其他type类型介绍

  • AUTO : AUTO(0, “数据库ID自增”),
  • INPUT : INPUT(1, “用户输入ID”),
  • ID_WORKER : ID_WORKER(2, “全局唯一ID”),
  • UUID : UUID(3, “全局唯一ID”),
  • NONE : NONE(4, “该类型为未设置主键类型”),
  • ID_WORKER_STR : ID_WORKER_STR(5, “字符串全局唯一ID”);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149915.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 尚硅谷Oracle教程-学习笔记2

    尚硅谷Oracle教程-学习笔记2

    2022年3月8日
    410
  • 数据库副本的自动种子设定(自增长)

    数据库副本的自动种子设定(自增长)

    2021年11月26日
    39
  • PyCharm创建一个新的项目

    PyCharm创建一个新的项目欢迎使用PyCharm这是第一次使用PyCharm,如果你想学习如何使用PyCharm创建一个新的项目,可以仔细阅读这篇文章,了解一下。打开PyCharm点击创建一个新项目选择保存的目录(建议D盘),刚刚安装的默认选择新建环境,点击创建下载配置解释器Python3.8进行中开始创建以“.py”为后缀写个简单的helloworld!运行一下结果如下可以用一个子目录打包需要写的东西同样的操作这次写个learnPython,看看效果,前后对比还有文件存储

    2022年8月29日
    3
  • Java下拼接运行动态SQL语句

    Java下拼接运行动态SQL语句

    2022年2月4日
    69
  • modelsim破解

    modelsim破解http://wenku.baidu.com/link?url=sinFpZ6VwBO7O0U1Zecq0LjtoVuHt-xZLOBRkeeOFOpqlWAj-tX8EF_H2blOFVidMU8n9IPzVockc0usI5t5Hgp1Ou54ZBbpFRv8gGRXZVKmodelsim破解版教程说找不到什么文件,可能就是属性设置为已读下面是加入xilinx的破…

    2022年5月24日
    53
  • c++使用json_qt读写json文件

    c++使用json_qt读写json文件目录前言一、json文件简介1、json文件2、json与其他存储数据方式比较二、C++操作json文件1、jsoncpp库下载2、C++从字符串中读取json3、C++从文件中读取json4、C++写入json文件5、主函数附:jsoncpp库配置1、解压并转移2、配置属性3、配置项目前言json文件是比较轻量级的文件,格式简单…

    2022年10月12日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号