zoukankan      html  css  js  c++  java
  • mybatisplus----CRUD操作之插入操作,及主键自增策略(雪花算法简述)

    测试插入:

        //测试插入
        @Test
        void testInsert(){
            User user=new User();
            user.setAge(3);
            user.setEmail("269805365@qq.com");
    //        user.setId();  我们故意不进行设置id,我们会发现会自动生成id
            user.setName("yfsn");
            int insert = userMapper.insert(user);
            System.out.println(insert);
            System.out.println(user);//经过输出我们会发现,自动设置id之后这个id会回填的我们的java对象中
    
    
        }

    结果:

    数据库插入的id的默认值为:全局的唯一id

    主键生成策略

    默认ID_WORKER全局唯-id

    分布式系统唯-id生成

    雪花算法:snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID,其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生4096个ID),最后还有一个符号位,永远是0。

     主键自增

    我们需要配置主键自增:
    1、体段上Tablerd(type-IdType.AUTO)


    2、数据库字段一定要是自增!

     

    再次测试:

    关于@TableId注解type值的其他参数解释

    其与的源码解释
    public enum IdType{


    AUTO(0),//数据库id自增NONE(1),//未设置主键


    INPUT(2),//手动输入

    ID-WORKER(3),//默认的全局唯一id

    UUID(4),//全局唯-id uuid ID WORKERSTRI5);//ID_WORKER字符串表示法

     }

    迎风少年
  • 相关阅读:
    sqlserver 自学笔记 函数实训 学分学期转换函数的设计
    jquery dom操作
    jquery clone方法
    Go开发常见陷阱
    Go 语言从新手到大神:每个人都会踩的五十个坑(转)
    Go文件操作大全
    linux下安装go
    Go 学习笔记
    分布式系统设计系列 -- 基本原理及高可用策略 (转)
    安装Redis图形监控工具---RedisLive
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13968641.html
Copyright © 2011-2022 走看看