• 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字符串表示法

     }

    迎风少年
  • 相关阅读:
    OpenERP Framework API存档
    OpenERP 7 picking order 继承需要注意的地方
    Unity战斗系统之AI自主决策
    简易2D横版RPG游戏制作
    UGUI之Canvas Group
    UGUI之Canvas和EventSystem
    NGUI之scroll view的制作和踩坑总结
    NGUI之Toggle实现单选框
    Unity中对象池的使用
    继承MonoBehaviour类的优缺点和相关报错
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13968641.html
Copyright © 2020-2023  润新知