MyBatis基本用法-IdType

MyBatisPlus框架的IdType

概述

IdType是MyBatisPlus框架中用来设置主键生成策略的枚举类。通过设置不同的IdType,可以实现不同的主键生成方式。

使用示例

1. 添加依赖

在项目的pom.xml文件中添加MyBatisPlus的依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本号</version>
</dependency>

2. 配置文件

在application.yml(或者application.properties)中配置MyBatisPlus的相关属性:

mybatis-plus:
  global-config:
    db-config:
      id-type: 自定义的IdType枚举值

3. 创建实体类

创建一个实体类,用来映射数据库表:

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

@TableName("user")
public class User {
    
    
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}

4. 编写Mapper接口

编写一个Mapper接口,用来操作数据库:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
    
    
}

5. 测试代码

编写一个测试类,对数据库进行操作:

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class MyBatisPlusTest {
    
    
    @Autowired
    private UserMapper userMapper;

    @Test
    public void testInsert() {
    
    
        User user = new User();
        user.setName("张三");
        user.setAge(18);
        userMapper.insert(user);
    }

    @Test
    public void testSelectById() {
    
    
        User user = userMapper.selectById(1L);
        System.out.println(user);
    }
}

IdType枚举值

MyBatisPlus框架中的IdType枚举类定义了以下几种主键生成策略:

  • AUTO:数据库自增,适用于MySQL、SQL Server、PostgreSQL等数据库;
  • NONE:无主键生成策略,需要手动设置主键值;
  • INPUT:用户输入,需要手动设置主键值;
  • ID_WORKER:全局唯一ID,Long类型主键,使用雪花算法生成,适用于分布式环境;
  • UUID:全局唯一ID,String类型主键,使用UUID生成。

在配置文件中,可以根据项目需要选择合适的IdType枚举值来设置主键生成策略。

Guess you like

Origin blog.csdn.net/qq_41177135/article/details/131883488