MyBatis-Plus学习笔记(二) 插入数据及主键策略

狂神说Java学习笔记:https://www.bilibili.com/video/BV17E411N7KN?p=5


一、插入User

    @Test
    public void insertTest(){
        
        User user = new User();
        user.setName("liniqngxia");
        user.setAge(18);
        user.setEmail("[email protected]");

        int result = userMapper.insert(user);
        
        System.out.println(result);
        System.out.println(user);

    }

二、分析测试日志

  • 由日志可知,虽然插入数据时我们没有插入id,但自动生成了id并同输入数据一起插入到数据库中
  • 此自动生成的id是全局唯一的
  • 默认主键生成有多种策略,本处采用的是Twitter的snowflake算法:用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号,最后一位永远是0

三、主键自增配置

  • 在数据库勾选主键的自增选项
  • 在代码中给相应的字段加注解:@TableId(type = IdType.AUTO)
public enum IdType {
    AUTO(0),           //数据库id自增
    NONE(1),           //未设置主键
    INPUT(2),          //手动输入,需要自己配置id
    ID_WORKER(3),      //全局唯一id(默认)
    UUID(4),           //全局唯一id(uuid)
    ID_WORKER_STR(5);  //ID_WORKER字符串表示法
}

猜你喜欢

转载自blog.csdn.net/qq_41694490/article/details/114268992