@TableId
注解是 MyBatis Plus 框架中用于标识实体类中的主键字段的注解,它有一些可选的配置项。下面是详细说明:
首先,需要在项目中添加 MyBatis Plus 的依赖。可以在项目的 pom.xml
文件中添加以下代码:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
接下来,我们创建一个实体类,并在主键字段上使用 @TableId
注解,示例如下:
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("user") // 指定数据库表名
public class User {
@TableId(value = "id", type = IdType.AUTO) // 标识主键字段
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
在上述示例中,@TableName
注解用于指定实体类对应的数据库表名,@TableId
注解则标识了主键字段。
@TableId
注解的配置项如下:
-
value
:可选项,指定主键对应的数据库字段名称。如果不配置,则默认使用属性名作为字段名。 -
type
:可选项,指定主键的生成策略。默认为IdType.NONE
,表示不使用任何主键生成策略。其他可选值包括:-
IdType.AUTO
:自动增长,适用于数据库自增长主键。 -
IdType.NONE
:不使用主键生成策略。 -
IdType.INPUT
:用户输入,适用于手动输入主键值。 -
IdType.ID_WORKER
:全局唯一ID,适用于分布式系统。 -
IdType.UUID
:全局唯一UUID,适用于分布式系统。 -
IdType.ID_WORKER_STR
:字符串类型的全局唯一ID,适用于分布式系统。
-
最后,需要在 MyBatis Plus 的配置文件中进行相关配置。可以在 application.properties
或 application.yml
中添加以下配置:
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# MyBatis Plus配置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.entity
在上述配置中,spring.datasource
配置了数据库连接信息,mybatis-plus.mapper-locations
配置了 Mapper 映射文件的位置,mybatis-plus.type-aliases-package
配置了实体类的包路径。
完成以上步骤后,就可以在代码中使用 @TableId
注解来标识主键字段了。例如,可以在 Mapper 接口中使用 @Param
注解来传递参数:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {
User selectUserById(@Param("id") Long id);
}
这样,就可以使用 MyBatis Plus 框架中的 @TableId
注解来标识实体类中的主键字段,并完成相应的配置和引用。