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枚举值来设置主键生成策略。