UUID(Universally Unique Identifier)UUID是一种基于随机数的全局唯一标识符,符合RFC 4122规范。UUID的优点在于其全局唯一性,可以保证在分布式环境下生成的ID不会冲突。但是,UUID长度较长,且不易读,写入性能较低,且不易于数据库的顺序插入。 主键自增主键自增是一种常见的主键生成策略,通过数据库表自带的自增属性来生...
INPUT 主键输入策略,在插入数据库之前会自动生成id值,Mybatis -Plus已经定义好了常见的数据库主键序列,我们首先只需要在@Configuration类中定义好@Bean:Mybatis -Plus内置了如下数据库主键序列(如果内置支持不满足你的需求,可实现IKeyGenerator接口来进行扩展): DB2KeyGenerator H2KeyGenerator KingbaseKeyGenerator OracleKeyG...
2,ASSIGN_UUID(排除中划线的UUID) 如果使用IdType.ASSIGN_UUID策略,并重新自动生成排除中划线的UUID作为主键。主键类型为String,对应MySQL的表分段为VARCHAR(32) 提示:该策略使用接口IdentifierGenerator的方法nextUUID @Data public class UserInfo { //指定主键生成策略为不含中划线的UUID @TableId(type = IdType.A...
接下来,定义一个实体类,并在其中使用@TableId注解来指定主键生成策略为UUID。 importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.TableName;importlombok.Data;@Data@TableName("user")publicclassUser{@TableIdprivateStringid;privateStringname;privateIntegerage;} 1. 2. ...
* 分配ID (主键类型为number或string), * 默认实现类 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator}(雪花算法) * * @since 3.3.0 */ASSIGN_ID(3),/** * 分配UUID (主键类型为 string) * 默认实现类 {@link com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGener...
描述:主键注解 使用位置:实体类主键字段 如果大部分表主键都是自增,可以进行全局设置 属性上的优先级 > 全局设置 mybatis-plus: global-config: db-config: id-type: auto #主键策略 table-prefix: tbl_ #表前缀 关于主键策略 IdType @TableField
Mybatis-Plus主要有以下几种主键生成策略—— 代码语言:txt 复制 @Gette public enum IdType { /* * 数据库ID自增 */ AUTO(0), /* * 该类型为未设置主键类型 */ NONE(1), /* * 用户输入ID * 该类型可以通过自己注册自动填充插件进行填充
特点:生成 32 位 UUID 字符串,适合跨系统场景,但主键长度较长,性能略低于雪花算法。 (3)IdType.INPUT 手动输入主键值,由开发者提供。 @TableId(value = "pay_id", type = IdType.INPUT)privateInteger payId; 特点:开发者需要在插入数据前手动设置主键值。MyBatis-Plus 不会自动生成,未设置主键id是null,...
UUID则不同,每次都一个随机唯一的值,不过因为是随机,所以也就没有排序了。 3. redis redis也可以用来生成id,利用redis的原子操作。好处是可以不依赖数据库,性能好,但是随之因为redis的引入,带来了一定的复杂度。 mybatis-plus的方式 其实在之前使用mp进行新增数据的时候,我并没有进行对应的配置,默认就会带有主键id...