mybatisplus id自增
时间: 2023-11-23 12:58:02 浏览: 124
在MyBatis-Plus中,可以通过使用注解@TableId和@TableName来实现自增长ID。其中@TableId注解用于标识主键字段,@TableName注解用于标识表名。在@TableId注解中,可以设置value属性为Id字段名,type属性为Id类型,如下所示:
```java
@TableId(value = "id", type = IdType.AUTO)
private Long id;
```
其中,type属性有以下几种取值:
- AUTO:数据库ID自增
- NONE:无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)
- INPUT:用户输入ID,该类型可以通过自己注册自动填充插件进行填充(注解里等于跟随全局,全局里约等于 ID_WORKER)
- ID_WORKER:全局唯一ID,Long类型的数字类型,生成策略为:ID_WORKER,1L
- UUID:全局唯一ID,String类型,生成策略为:UUID
- ID_WORKER_STR:字符串全局唯一ID,生成策略为:ID_WORKER,该类型可以通过自己注册自动填充插件进行填充
例如,使用AUTO类型自增长ID的示例代码如下:
```java
@TableId(value = "id", type = IdType.AUTO)
private Long id;
```
相关问题
mybatisplus主键自增
MyBatis-Plus(简称MP)是一款基于 MyBatis 的增强工具,它提供了许多便捷的功能,包括主键自增。
在 MyBatis-Plus 中,实现主键自增有两种方式:
1. 使用数据库的自增主键策略:在数据库表中设置主键字段为自增,在实体类中将该字段标记为 `@TableId(type = IdType.AUTO)`,这样在插入数据时,数据库会自动生成主键值并返回给实体对象。
示例代码:
```java
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
}
```
2. 使用雪花算法生成全局唯一的主键值:在实体类中将主键字段标记为 `@TableId(type = IdType.ASSIGN_ID)`,这样在插入数据时,MyBatis-Plus 会使用雪花算法生成唯一的主键值。
示例代码:
```java
@Data
@TableName("user")
public class User {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
private String username;
private String password;
}
```
以上就是 MyBatis-Plus 中实现主键自增的两种方式。你可以根据需求选择合适的方式来使用。
mybatisplus自增主键
MyBatis Plus 提供了多种方式来处理自增主键的生成。其中常用的方式是使用数据库的自增主键功能。
在 MyBatis Plus 中,可以通过使用`@TableId`注解来指定实体类的主键属性,通过`@TableId(type = IdType.AUTO)`来设置主键生成策略为数据库自增。
示例代码如下:
```java
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
public class User {
@TableId(type = IdType.AUTO)
private Long id;
// other fields and methods...
}
```
在上述示例中,`User`类中的`id`字段被标记为主键,并且通过`IdType.AUTO`指定了自增主键的生成策略。
当插入一条记录时,MyBatis Plus 会自动将生成的自增主键赋值给实体类中对应的字段。
注意:使用自增主键需要确保数据库表中该字段为自增主键类型,并且数据库支持自增主键功能。
除了使用数据库的自增主键功能外,MyBatis Plus 还提供了其他主键生成策略,如雪花算法、UUID 等,可以根据实际需求选择合适的策略。
阅读全文