码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mybatis-Plus 之 @TableId(value=“xxx”,type = IdType.xxx)注解


    Mybatis-Plus 之 @TableId(value=“xxx”,type = IdType.xxx)注解


    @TableId(value=“xxx”,type = IdType.xxx):

    “value”:设置数据库字段值
    “type”:设置主键类型、如果数据库主键设置了自增建议使用“AUTO”

    注意:当不添加注解时,默认使用ID_WORKER


    @TableId的type有以下几种类型:

    类型含义
    AUTO数据库自增ID 类型可以是Interger/Long;
    NONE数据库未设置主键类型(当手动设置主键id值后插入数据库,值会按设置的值插入,若未手动设置值,值会变成一串很长的数字插入)
    INPUT用户自己输入ID,如果未设置插入数据库,会报错
    ID_WORKER生成的snowflakeId 是19位的全局唯一ID, 类型必须是Long
    UUID局唯一ID,类型是字符串
    ID_WORKER_STRidWorker 的字符串表示, 类型是字符串

    常见问题:

    1.数据库主键没有根据自己的设定进行自增,而是变成了一串数字;

    原因:主键 id 上没有标识 @TableId(value = “id”,type = IdType.AUTO) 注解,默认使用了 type = IdType.ID_WORKER

    2.type = IdType.IdWorker生成的Id和返回给前台的不一致;

    原因:mybatis-plus 的 ID_WORKER 策略生成了一个 Long 型的很长的19位数字,这个数字传到前台之后,超过了 js 中数字的最大范围,导致最后两位始终为 0。

    解决方案:
    @TableId(value = “id”, type = IdType.ID_WORKER)
    @JsonSerialize(using = ToStringSerializer.class)
    添加 @JsonSerialize(using = ToStringSerializer.class) 将结果转换成 String,返回的时候主键都以 String 的格式返回给前端接收;或者在数据组装返回时,自己做个 String 的转换;

  • 相关阅读:
    NodeJS校园快递智能互助平台-计算机毕业设计源码58554
    typescript 基础一篇掌握(一万四千字攻略总结)
    Guava Cache 异步刷新技巧,你值得拥有!
    npm install / webdriver-manager update报错 unable to get local issuer certificate
    基于java的校园论坛系统,ssm+jsp,Mysql数据库,前台用户+后台管理,完美运行,有一万多字论文
    Kafka多生产者消费者自动配置
    【考研数学】全程跟张宇,《1000题》应该怎么搭配《660》《880》?
    java学生管理系统
    「优选算法刷题」:比较含退格的字符串
    论文笔记: 多标签学习 MSWL
  • 原文地址:https://blog.csdn.net/weixin_44958006/article/details/126415402
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号