MyBatis-Plus Sequence主键的实现
Sequence主键是什么:
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。
其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。
MP内置支持的数据库主键策略:
- DB2KeyGenerator
- H2KeyGenerator
- KingbaseKeyGenerator
- OracleKeyGenerator
- PostgreKeyGenerator
mybatisplus实体类主键策略有3种(注解>全局>默认)
注解使用
publicclassUserextendsModel{ @TableId(value="id",type=IdType.AUTO) privateStringid; @TableField("real_name") privateStringrealName; }
IdType
AUTO:数据库ID自增
INPUT:用户输入ID
NONE:该类型为未设置主键类型,注解里等于跟随全局,全局里约等于INPUT
ASSIGN_ID:使用雪花算法分配ID,主键类型为Number(Long和Integer)或String
ASSIGN_UUID:分配UUID,主键类型为String
ID_WORKER:分布式全局唯一ID长整型类型,已弃用
UUID:UUID:32位UUID字符串,已弃用
ID_WORKER_STR:分布式全局唯一ID字符串类型,已弃用
springboot
支持主键类型指定(3.3.0开始自动识别主键类型)
方式一:使用配置类
@Bean publicIKeyGeneratorkeyGenerator(){ returnnewH2KeyGenerator(); }
方式二:通过MybatisPlusPropertiesCustomizer自定义
@Bean publicMybatisPlusPropertiesCustomizerplusPropertiesCustomizer(){ returnplusProperties->plusProperties.getGlobalConfig().getDbConfig().setKeyGenerator(newH2KeyGenerator()); }
Spring
方式一:XML配置
方式二:注解配置
@Bean publicGlobalConfigglobalConfig(){ GlobalConfigconf=newGlobalConfig(); conf.setDbConfig(newGlobalConfig.DbConfig().setKeyGenerator(newH2KeyGenerator())); returnconf; }
到此这篇关于MyBatis-PlusSequence主键的实现的文章就介绍到这了,更多相关MyBatis-PlusSequence主键内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。