MyBatis-Plus Sequence主鍵的實現(xiàn)
Sequence主鍵是什么:
序列(SEQUENCE)是序列號生成器,可以為表中的行自動生成序列號,產(chǎn)生一組等間隔的數(shù)值(類型為數(shù)字)。不占用磁盤空間,占用內(nèi)存。
其主要用途是生成表的主鍵值,可以在插入語句中引用,也可以通過查詢檢查當(dāng)前值,或使序列增至下一個值。
MP內(nèi)置支持的數(shù)據(jù)庫主鍵策略:
- DB2KeyGenerator
- H2KeyGenerator
- KingbaseKeyGenerator
- OracleKeyGenerator
- PostgreKeyGenerator
mybatis plus 實體類主鍵策略有3種( 注解 > 全局 > 默認 )
注解使用
public class User extends Model<User> {
@TableId(value = "id", type = IdType.AUTO)
private String id;
@TableField("real_name")
private String realName;
}
IdType
AUTO:數(shù)據(jù)庫ID自增
INPUT:用戶輸入ID
NONE:該類型為未設(shè)置主鍵類型,注解里等于跟隨全局,全局里約等于 INPUT
ASSIGN_ID:使用雪花算法分配ID,主鍵類型為Number(Long和Integer)或String
ASSIGN_UUID:分配UUID,主鍵類型為String
ID_WORKER:分布式全局唯一ID 長整型類型,已棄用
UUID:UUID:32位UUID字符串,已棄用
ID_WORKER_STR:分布式全局唯一ID 字符串類型,已棄用
spring boot
支持主鍵類型指定(3.3.0開始自動識別主鍵類型)
方式一:使用配置類
@Bean
public IKeyGenerator keyGenerator() {
return new H2KeyGenerator();
}
方式二:通過MybatisPlusPropertiesCustomizer自定義
@Bean
public MybatisPlusPropertiesCustomizer plusPropertiesCustomizer() {
return plusProperties -> plusProperties.getGlobalConfig().getDbConfig().setKeyGenerator(new H2KeyGenerator());
}
Spring
方式一: XML配置
<bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig"> <property name="dbConfig" ref="dbConfig"/> </bean> <bean id="dbConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig.DbConfig"> <property name="keyGenerator" ref="keyGenerator"/> </bean> <bean id="keyGenerator" class="com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator"/>
方式二:注解配置
@Bean
public GlobalConfig globalConfig() {
GlobalConfig conf = new GlobalConfig();
conf.setDbConfig(new GlobalConfig.DbConfig().setKeyGenerator(new H2KeyGenerator()));
return conf;
}
到此這篇關(guān)于MyBatis-Plus Sequence主鍵的實現(xiàn)的文章就介紹到這了,更多相關(guān)MyBatis-Plus Sequence主鍵內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于java file 文件操作operate file of java的應(yīng)用
本篇文章介紹了,基于java file 文件操作operate file of java的應(yīng)用。需要的朋友參考下2013-05-05
java實現(xiàn)protocol傳輸?shù)目蛻舳撕头?wù)端的示例代碼
本文主要介紹了java實現(xiàn)protocol傳輸?shù)目蛻舳撕头?wù)端的示例代碼,基于TCP協(xié)議的客戶端和服務(wù)端,包括了基本的連接、消息傳遞和關(guān)閉連接的操作,感興趣的可以了解一下2024-07-07
Java異常簡介和架構(gòu)_動力節(jié)點Java學(xué)院整理
這篇文章主要分享了Java異常簡介和架構(gòu),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06

