MyBatis-Plus 是 MyBatis 的增强工具,在自动生成 SQL 语句的同时提供了一些便捷的功能,其中就包括了主键自增策略。下面是 MyBatis-Plus 支持的几种主键自增策略,并对其进行详细解释:
-
AUTO:
- 策略解释: 数据库自增字段,需要数据库支持自增长列,MyBatis-Plus 在插入数据时会自动获取数据库生成的主键值。
- 使用示例:
@TableId(type = IdType.AUTO)
private Long id;
2.NONE:
- 策略解释: 无策略,即不指定主键自增策略,需要手动设置主键值。
- 使用示例:
@TableId(type = IdType.NONE) private Long id;
3.INPUT:
- 策略解释: 用户输入,需要手动设置主键值。
- 使用示例:
@TableId(type = IdType.INPUT)
private Long id;
4.ID_WORKER:
- 策略解释: 使用雪花算法生成分布式唯一 ID(默认是 Long 类型)。
- 使用示例:
@TableId(type = IdType.ID_WORKER) private Long id;
5.UUID:
- 策略解释: 使用 UUID 作为主键值。
- 使用示例:
@TableId(type = IdType.UUID) private String id;
6.ID_WORKER_STR:
- 策略解释: 使用雪花算法生成分布式唯一字符串 ID,通常是字符串形式的数字,具有全局唯一性。
- 使用示例:
@TableId(type = IdType.ID_WORKER_STR) private String id;
这些策略可以通过在实体类的主键字段上使用 @TableId
注解并指定 type
属性来设置。
这样配置后,在执行插入操作时,MyBatis-Plus 会根据数据库的自增规则生成相应的主键值。其他策略的配置方式类似,只需将 type
属性设置为相应的值即可。选择主键自增策略时,需要根据数据库的支持和业务需求来合理选择。