MyBatis基本用法-@TableId

@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.propertiesapplication.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 注解来标识实体类中的主键字段,并完成相应的配置和引用。

猜你喜欢

转载自blog.csdn.net/qq_41177135/article/details/131943025