MybatisPlus中主键策略

MybatisPlus生成主键策略方法 因为一般数据库主键为String类型,所以接收类型为String,生成的uuid数据包含-,所以要去掉-,也可以用当前时间戳+随机id的形式生成唯一的,下面是以String类型为例子,有知道其他方法的小伙伴们欢迎在底下留言,本人小白一枚轻喷!SpringBoot集成Mybatis-Plus。(当并发创建时有可能会重复所以建议使用雪花算法)当然这些只是我的建议,大家可以去找找其他的方法。中的生成方法,下面是以int类型为例子。使用hutool需要导入依赖。 阅读详情

在application.properties中配置:

mybatis-plus.global-config.id-type=2

配置详情:

/**
 * Copyright (c) 2011-2020, hubin (jobob@qq.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.baomidou.mybatisplus.enums;

/**
 * <p>
 * 生成ID类型枚举类
 * </p>
 *
 * @author hubin
 * @Date 2015-11-10
 */
public enum IdType {
    AUTO(0, "数据库ID自增"),
    INPUT(1, "用户输入ID"),
    /* 以下2种类型、只有当插入对象ID 为空,才自动填充。 */
    ID_WORKER(2, "全局唯一ID"),
    UUID(3, "全局唯一ID"), 
    NONE(4, "该类型为未设置主键类型"),
    ID_WORKER_STR(5, "字符串全局唯一ID");

    /**
     * 主键
     */
    private final int key;

    /**
     * 描述
     */
    private final String desc;

    IdType(final int key, final String desc) {
        this.key = key;
        this.desc = desc;
    }

    /**
     * <p>
     * 主键策略 (默认 ID_WORKER)
     * </p>
     *
     * @param idType ID 策略类型
     * @return
     */
    public static IdType getIdType(int idType) {
        IdType[] its = IdType.values();
        for (IdType it : its) {
            if (it.getKey() == idType) {
                return it;
            }
        }
        return ID_WORKER;
    }

    public int getKey() {
        return this.key;
    }

    public String getDesc() {
        return this.desc;
    }

}

注:经验证-设置主键策略后还是会被数据库的触发器覆盖

DINOv3 网络结构解析:从 ViT 到 ConvNeXt 的双路线设计 本文深入解析了DINOv3网络结构的双路线设计,包括ViT和ConvNeXt两种主干架构。ViT路线通过轴向旋转位置编码解决了传统ViT对固定分辨率的依赖,而ConvNeXt路线则优化了卷积设计,提升了实时处理能力。文章还探讨了Gram Anchoring、混合自监督目标等关键技术,展示了DINOv3在多任务和多模态应用中的强大潜力。 阅读详情

相关推荐

TMP112/TMP102温度传感器驱动开发与嵌入式实战

数字温度传感器是嵌入式系统环境感知的核心器件,其通过I²C等标准总线实现高精度、低功耗测温。原理上依赖ΔΣ模数转换与二进制补码数据格式,结合寄存器配置实现模式控制、阈值报警与功耗管理。技术价值体现在±0.5°C级精度、1μA级静态电流及SOT-563超小封装带来的系统集成优势。广泛应用于工业MCU热监控、电池物联网终端、医疗电子温度补偿及汽车ECU板级测温等场景。本文围绕TMP112/TMP102展开,深入解析寄存器协议、硬件接口约束、HAL驱动分层设计、FreeRTOS任务调度及生产级校准方法,覆盖从芯片

weixin_35756690的博客 674

Mybatis-Plus(二)进阶篇

书接上文,讲解完MP的基本知识,我们已经可以独立完成增删改查的功能,本文将讲解一些MP更加深入的知识

h13245的博客 3165

Windows 10下Gpg4win 4.3.1安装与配置全攻略:从下载到邮件加密实战

本文详细介绍了在Windows 10系统下安装和配置Gpg4win 4.3.1的全过程,包括下载、验证、自定义安装以及密钥管理。特别重点讲解了如何通过Kleopatra证书管理器进行密钥创建和管理,以及在Outlook中实现邮件加密的实战操作,帮助用户全面提升数据安全防护能力。

weixin_29271263的博客 300

MyBatis基本用法-IdType

MyBatis基本用法-IdType

qq_41177135的博客 5504

别再为Word转PDF表格变形发愁了!Aspose.Words for Java 19.5 保姆级避坑指南

本文详细介绍了使用Aspose.Words for Java 19.5解决Word转PDF时表格变形问题的完整方案。从格式转换原理到实战技巧,涵盖固定表格宽度、禁用自动调整、强制文本换行等核心方法,并提供高级场景应对策略和性能优化建议,帮助开发者高效处理复杂文档转换需求。

weixin_28702105的博客 266

用了7年的 source insight 3.5 背景色及字体配置(提升code效率)

在此记录并share用了7年的 source insight 3.5 背景色及字体配置,提升阅读代码效率

Chasing Freedom 7522

MyBatis-Plus配置

在Mybatis-Plus中有大量配置,其中有一部分是Mybatis原生的配置,另一部分是Mybatis-Plus的配置 基本配置 configLocation MyBatis配置文件位置,如果有单独单独的MyBatis配置,请将其路径配置到configLocation中。MyBatisConfiguration的具体内容请参考MyBatis官方文档 Spring Boot mybatis-plus.config-location=classpath:mybatis-config.xml Spring

好好学习 1万+

SolidWorks 2022 学习(一)软件安装

接下来是安装SolidWorks,右键SolidWorks.2022.SP0.Premium.DVD.iso,选择装载。然后以管理员身份运行SolidWorks_Flexnet_Server目录下的server_install.bat。更改需要安装的产品,以及安装路径,并勾选接受条款,点击现在安装,会弹出如下窗口。然后以管理员身份运行setup.exe,开始安装solidworks。下载链接会在文章末尾给出,下载完成的文件如下图所示。双击注册表文件,然后点击确定。保持不动,点击确定,开始安装。

qq_38383364的博客 3124

谷粒学苑_第二天

谷粒学苑_第二天 创建父工程 pom类型 管理依赖的版本,放公共依赖guli_parent子工程:详细的功能模块service子子模块:更细分的功能模块service_eduapplication.yml 编写controller service mapper使用mp的代码生成器个人使用mybatisX插件进行自动生成先在idea导入mysql 选中一个表,点这个选项 按照管理只要改这4个就行拼接成一个完整的路径module

like_wen的博客 1944

Origin2018(汉化版)在使用科学计数法的时候如何将坐标刻度的0.0改成0

文章目录1 问题2 解决方法 1 问题 先看下面这张图,当我使用科学计数法时,纵坐标出现了0.0的字样,这样看起来很不美观。有些期刊还会有要求,不能出现0.0的格式。 图1 那么该怎么将它改成0呢?首先让我们尝试着用Origin自带的属性,看看能不能设置。 2 解决方法 解决方法一: step1: 双击坐标轴,打开坐标轴属性设置。 step2: 在刻度线标签选项中设置左轴的显示 图2 会发现,按照图2的方式改好之后,其它的小数位也全没了,如果但是有些数字就被覆盖了,这显然不是我

qq_40077565的博客 2万+

ROS新手必看:5分钟搞定URDF小车建模(附Rviz可视化调试技巧)

本文为ROS新手提供了快速构建URDF机器人模型的实战指南。通过一个完整的两轮差速小车建模案例,详细解析了URDF的核心语法、Rviz可视化调试技巧以及常见问题排查方法,帮助初学者快速掌握ROS机器人建模与可视化调试的核心技能。

weixin_29079643的博客 248

mybatis-plus中的那些配置

主键ID从很大的数字开始 数据库新增实例,主键ID一般都是自增长的,不用人工给它赋值。那么mybatis-plus在新增的时候,会出现主键ID从很大的数字开始(example ‘17629802347414’),而不是从1开始的。原因就在于,mybatis-plus在新增的时候,会给一个主键ID,并且这个数字不规范,还不连续。这时候我们需要忽略掉这一点,不需要mybatis-plus给我们ID。 主键字段添加 @TableId(type = IdType.AUTO) private Long id; 配置

weixin_44939996的博客 358

使用R语言绘制Logistic回归模型的亚组分析森林图

亚组分析是一种常用的统计方法,用于探索不同亚组之间的差异,并确定是否存在某些变量对结果的调节作用。在本文中,我们将使用R语言来绘制Logistic回归模型的亚组分析森林图。在该图中,每个亚组都用一个点表示,点的位置表示亚组的均值,而线段表示亚组的置信区间。垂直参考线用于表示效应值为0的点,帮助我们判断亚组之间的差异。希望本文对你有所帮助,让你能够使用R语言绘制Logistic回归模型的亚组分析森林图。是一个二分类的变量,我们希望在亚组分析中探索它与响应变量之间的关系。函数来计算每个亚组的均值,并使用。

PixelNinja的博客 2001

mybatisPlus主键策略解读

主键的作用就是唯一标识,我们可以通过这个唯一标识来定位到这条数据。当然对于表数据中的主键,我们可以自己设计生成规则,生成主键。但是在更多的场景中,没有特殊要求的话,我们每次自己手动生成的比较麻烦,我们可以借助框架提供好的主键生成策略,来生成主键。这样比较方便快捷在MybatisPlus中提供了一个注解,是@TableId,该注解提供了各种的主键生成策略,我们可以通过使用该注解来对于新增的数据指定主键生成策略。那么在以后新增数据的时候,数据就会按照我们指定的主键生成策略来生成对应的主键。

一个菜鸡的博客 5624

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MybatisPlus 主键策略

MybatisPlus-Plus提供了多种主键生成策略,我们可以通过@TableId注解的 类型属性来设置主键id的增长策略,一共有几个多个主键策略,可根据情况自由配置。

m0_57313444的博客 3751

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【MyBatisPlus主键生成策略】

在数据库中,每一行数据都需要一个唯一的标识符,这就是主键。主键生成策略决定了如何为新插入的行生成这个唯一标识符。不同的数据库和框架提供了不同的主键生成策略选项。

武帝为此的博客 956

MyBatisPlus主键生成策略

[](()AUTO(数据库 ID 自增) 对于像 MySQL 这样的支持主键自动递增的数据库,我们可以使用 IdType.AUTO 策略。 @TableName(“tb_user”) public class User { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; private String email; } [](()NONE(无状态) 如果使用 IdType.N..

m0_69745415的博客 3275

myBatisPlus主键生成策略分析

关于myBatisPlus,相信大部分小伙伴们并不陌生。 myBatisPlus主键生成策略,其实并不复杂。 我们可以在实体类的id上面加一下注解: @TableId(type = IdType.AUTO) private Long id; @TableId注解属于myBatisPlus中的,当点开type后会发现 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) public @interface

cknb1的博客 760

MybatisPlus主键生成策略

MybatisPlus自带主键生成策略"雪花算法",如果不做配置,默认也是使用这个算法生成id。 snowflake(雪花)是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。具体实现的代码可以参看https://github.com/twitter/snowfla

小菜鸟--成长之路的博客 1350

小书MybatisPlus第6篇-主键生成策略精讲

本文为mybatis系列文档的第6篇,前5篇请访问下面的网址。 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小书MybatisPlus第3篇-自定义SQL 小书MybatisPlus第4篇-表格分页与下拉分页查询 小书MybatisPlus第5篇-Active Record模式精讲 Mybatis Plus 为我们提供了三种设置 主键生成策略的方式。它们的优先级顺序是:局部注解 > 全局 > 默认(雪.

字母哥博客 1820

MybatisPlus的主键策略

MybatisPlus的主键策略

weixin_64122713的博客 403

MybatisPlus主键生成策略与自动填充

snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。创建时间、修改时间,这些操作一般都是自动化完成的,不希望手动更新。在实体类对象中配置,前提是数据库表中也是设置自增的。数据库表通常是不能够修改的,在代码中使用自动填充。

weixin_60719453的博客 2606

MybatisPlus使用@TableId注解主键策略的报错及解决办法总结

MybatisPlus中使用@TableId注解来设置主键策略,可以查看源代码。

SSHLY3的博客 1618

MybatisPlus saveOrUpdate进阶指南:自定义主键与非主键更新策略

本文深入探讨MybatisPlus的saveOrUpdate方法,解析其默认依赖主键的局限性,并提供基于自定义字段的灵活更新策略。通过TableId注解配置、Wrapper条件包装器及批量处理优化等技巧,帮助开发者实现高效数据持久化,特别适合需要非主键更新的复杂业务场景。

quiet的专栏 605

MyBatisPlus 之日志及主键生成策略02

MyBatisPlus 之日志及主键生成策略02 配置日志 我们所有的sql现在是不可见的,我们希望知道它是怎么执行的,所以我们必须要看日志! 配置完毕日志之后,后面的学习就需要注意这个自动生成的SQL,你们就会喜欢上 MyBatis-Plus! # 配置日志 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 日志之后,后面的学习就需要注意这个自动生成的SQL,你们就会喜欢上

helloworld工程师的博客 280
上一篇: Spring事务管理嵌套事务详解 : 同一个类中,一个方法调用另外一个有事务的方法
下一篇: 登录拦截器记录
XiaoWenJava123
博客等级 码龄9年 5粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值