雪花算法在唯一id中目前最好的解决方案,因从需要将它处理出来。例如聊天室每个人的唯一id,数据一致性中的唯一id,key的唯一id等等.
还有baseMapper的唯一性,在原来的MP中要使用雪花算法必须使用baseMapper。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
@Component
public class SnowflakeId<T> {
/**
* 一般传递到前端,用于用户id
* @param entity
* @return
*/
public String RoomPeopleId(T entity){
DefaultIdentifierGenerator generator = new DefaultIdentifierGenerator();
return String.valueOf(generator.nextId(entity));
}
/**
* 一般在数据库中作为数据的唯一id
* @param entity
* @return
*/
public Long DataId(T entity){
DefaultIdentifierGenerator generator = new DefaultIdentifierGenerator();
return (Long)generator.nextId(entity);
}
}
这个是mybatisPlus最基础的配置
mybatis-plus:
mapper-locations: classpath:/mapper/**.xml
type-aliases-package: com.trade.Entity.BO
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl