Mybatis-Plus插入测试以及雪花算法
Posted 为BUG消得人憔悴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis-Plus插入测试以及雪花算法相关的知识,希望对你有一定的参考价值。
Mybatis-Plus插入测试以及雪花算法
1、导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
2、配置文件.YML
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/mybatis
driver-class-name: com.mysql.jdbc.Driver
#配置日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3、持久类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class user implements Serializable {
private Long id;
private String name;
private int age;
private String email;
}
4、mapper接口
@Repository
public interface mapper extends BaseMapper <user> {
}
5、启动类
@MapperScan("com.xys.Mapper")
@SpringBootApplication
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class, args);
}
}
6、测试类
@Test
void insert(){
user user=new user();
user.setName("d");
user.setAge(13);
user.setEmail("afg@ad");
//自动生成id
//数据库受影响的行数
int result = mapper.insert(user);
System.out.println("id===>"+result);
System.out.println("user====>"+user);
}
7、主键生成策略
默认
默认的是@TableId(type = IdType.ID_WORKER)
雪花算法
snowflake是Twitter开源的分布式ID生成算法,结果是一个ong型的ID。其核心思想是∶使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID ),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生4096个ID),最后还有一个符号位,永远是0。
主键自增
1、实体类字段上:@TableId(type = IdType.AUTO)
2、数据库字段一定要是自增的
其他源码解释
public enum IdType {
AUTO(0), //数据库id自增
NONE(1), //未设置主键
INPUT(2), //手动输入
ID_WORKER(3),//默认的全局的唯一Id
UUID(4),//全局唯一id
ID_WORKER_STR(5);//字符串表示法
}
/未设置主键
INPUT(2), //手动输入
ID_WORKER(3),//默认的全局的唯一Id
UUID(4),//全局唯一id
ID_WORKER_STR(5);//字符串表示法
}
以上是关于Mybatis-Plus插入测试以及雪花算法的主要内容,如果未能解决你的问题,请参考以下文章
关于MyBatis-Plus雪花算法生成id精度丢失问题的处理
关于MyBatis-Plus雪花算法生成id精度丢失问题的处理
关于MyBatis-Plus雪花算法生成id精度丢失问题的处理
MyBatis-Plus--使用雪花算法生成主键ID--使用/分析