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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从cer和pfx证书文件获取公、私钥

    从cer和pfx证书文件获取公、私钥一、背景最近在对接chinapay支付接口。chinapay会为每个商户号都会提供两个证书文件(cer和pfx),对接时使用chinapay提供的工具jar包,直接读取文件路径,进行请求体的签名、验签、加密、解密。chinapay提供的jar包工具类需要两个配置文件://该文件是:对方的公钥证书,内部只有公钥信息,用于请求的加密及响应的验签verify.file=/Users/macuser/Desktop/chinaPay/368_cp_test.cer//该文件是:自己的证书,

    2022年6月10日
    829
  • Android 极简反射教程及应用示例

    Android 极简反射教程及应用示例

    2021年9月16日
    48
  • 【Java】idea找不到符号找不到类,但是却没有错误

    【Java】idea找不到符号找不到类,但是却没有错误idea找不到符号找不到类,但是却没有错误

    2022年7月16日
    23
  • 推荐系统FM & FFM算法解读与实践

    推荐系统FM & FFM算法解读与实践在推荐系统和计算广告业务中,点击率CTR(click-throughrate)和转化率CVR(conversionrate)是衡量流量转化的两个关键指标。准确的估计CTR、CVR对于提高流量的价值,增加广告及电商收入有重要的指导作用。业界常用的方法有人工特征工程+LR(LogisticRegression)、GBDT(GradientBoostingDecisionTree)+…

    2022年6月11日
    34
  • pycharm的库安装不成功_pycharm上传github

    pycharm的库安装不成功_pycharm上传github艹,坑死我算了,应该是这个目录C:\ProgramFiles\Git\cmd\git.exe,之前我一直用的是git-bash那个,导致一直不对。

    2022年8月27日
    3
  • sudoers修改_为用户增加sudo权限(修改sudoers文件)

    sudoers修改_为用户增加sudo权限(修改sudoers文件)在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤…

    2022年6月20日
    31

发表回复

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

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