1. 创建自定义ID生成器类:
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
public class CustomIdGenerator implements IdentifierGenerator {
@Override
public Number nextId(Object entity) {
// 这里可以根据业务需求生成自定义的ID,例如使用雪花算法等
// 这里简单起见,使用当前时间戳作为ID
return System.currentTimeMillis();
}
}
2. 在实体类中使用自定义ID生成器:
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
@Data
public class User {
@TableId(type = IdType.ID_WORKER, value = "id", keyProperty = "id", keyColumn = "id", idGenerator = CustomIdGenerator.class)
private Long id;
private String name;
// 其他字段...
}
在 @TableId 注解中,通过 idGenerator 属性指定使用自定义的ID生成器类。
3. 在 MyBatis-Plus 的配置文件中配置自定义ID生成器:
<!-- 在 MyBatis-Plus 配置文件中配置自定义ID生成器 -->
<bean class="com.example.CustomIdGenerator" id="customIdGenerator"/>
或者使用 Java Config 的方式:
@Configuration
public class MyBatisPlusConfig {
@Bean
public CustomIdGenerator customIdGenerator() {
return new CustomIdGenerator();
}
}
通过上述步骤,就可以自定义ID生成器,并在实体类中使用该生成器。根据具体的业务需求,可以在 nextId 方法中实现自己的ID生成逻辑。这样,MyBatis-Plus 就会在插入数据时使用你定义的ID生成器生成主键值。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7057/MyBatis