@TableId详细使用
时间: 2023-11-16 13:59:38 浏览: 106
@TableId 是 MyBatis-Plus 提供的一个注解,用于标识实体类中的主键字段。它的详细使用方法如下:
1. 导入 MyBatis-Plus 依赖:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>x.x.x</version>
</dependency>
```
2. 在实体类的主键字段上添加 @TableId 注解:
```
public class User {
@TableId(type = IdType.AUTO)
private Long id;
...
}
```
3. @TableId 注解有一个 type 属性,用于指定主键生成策略。MyBatis-Plus 提供了以下几种主键生成策略:
- IdType.AUTO:自动增长,适用于 MySQL、PostgreSQL、SQL Server、Oracle 等数据库;
- IdType.NONE:无状态,需要手动填充主键字段;
- IdType.INPUT:用户输入,需要手动填充主键字段;
- IdType.ID_WORKER:全局唯一 ID,适用于单机部署;
- IdType.UUID:全局唯一 ID,适用于分布式部署。
4. 如果使用 IdType.ID_WORKER 或 IdType.UUID 主键生成策略,需要在数据库中创建对应的 Sequence 或 Trigger,或者使用 MyBatis-Plus 提供的 Sequence、Snowflake 算法等方式来生成主键。
5. 使用 @TableId 标识主键后,可以使用 MyBatis-Plus 提供的 CRUD 方法来操作数据库,例如:
```
User user = new User();
user.setName("张三");
user.setAge(18);
userMapper.insert(user);
User user = userMapper.selectById(1L);
user.setName("李四");
userMapper.updateById(user);
userMapper.deleteById(1L);
```
阅读全文