mybatis-plus id主键生成的坑

 更新时间:2020年08月28日 08:29:48   作者:__WanG  
这篇文章主要介绍了mybatis-plus id主键生成的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

简要说明

由于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”);

到此这篇关于mybatis-plus id主键生成的坑的文章就介绍到这了,更多相关mybatis-plus id主键生成内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot启动过程完全解析(一)

    Spring Boot启动过程完全解析(一)

    这篇文章主要介绍了Spring Boot启动过程完全解析(一),需要的朋友可以参考下
    2017-04-04
  • 分享Spring的下载组件

    分享Spring的下载组件

    这篇文章主要为大家分享了Spring的下载组件,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Java之实现十进制与十六进制转换案例讲解

    Java之实现十进制与十六进制转换案例讲解

    这篇文章主要介绍了Java之实现十进制与十六进制转换案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 详解java中&和&&的区别

    详解java中&和&&的区别

    这篇文章主要介绍了java中&和&&的区别,在java中比较常见的运算符:&&(短路与)、&、||(短路或)、|,需要的朋友可以参考下
    2015-07-07
  • MyBatis学习教程(三)-MyBatis配置优化

    MyBatis学习教程(三)-MyBatis配置优化

    这篇文章主要介绍了MyBatis学习教程(三)-MyBatis配置优化的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • springboot themaleaf 第一次进页面不加载css的问题

    springboot themaleaf 第一次进页面不加载css的问题

    这篇文章主要介绍了springboot themaleaf 第一次进页面不加载css的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • springboot接口加签验签常见的几大问题及解决过程

    springboot接口加签验签常见的几大问题及解决过程

    在SpringBoot框架中通过自定义注解实现加签验签功能是一个非常实用的技术,本文主要介绍了使用SpringBoot进行加签验签时可能遇到的几个问题,包括请求流重复读取问题、控制器中文件参数读取为空问题、FormData表单提交MD5加密值不一致问题
    2024-11-11
  • Spring之借助Redis设计一个简单访问计数器的示例

    Spring之借助Redis设计一个简单访问计数器的示例

    本篇文章主要介绍了Spring之借助Redis设计一个简单访问计数器的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • cascade级联关系操作案例详解

    cascade级联关系操作案例详解

    这篇文章主要介绍了cascade级联关系,主要包括级联保存,级联修改,级联删除案例,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • java非递归实现之二叉树的前中后序遍历详解

    java非递归实现之二叉树的前中后序遍历详解

    树的遍历顺序大体分为三种:前序遍历(先根遍历、先序遍历),中序遍历(中根遍历),后序遍历(后根遍历),本文将给大家详细的介绍,对大家的学习或工作具有一定的参考借鉴价值
    2021-09-09

最新评论