第一步创建序列 sequence
create sequence SEQ_TRAVEL_APPLY
minvalue 1 --增长最小值
maxvalue 9999999999 --增长最大值,也可以设置NOMAXvalue -- 不设置最大值
start with 1 --从101开始计数
increment by 1 --自增步长为1
cache 50 --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---NOCACHE防止跳号
cycle; --循环,当达到最大值时,不是从start with设置的值开始循环。而是从1开始循环
第二步:在spring boot项目中增加配置类
@Configuration
@MapperScan("xxx.mapper") //设置mapper接口的扫描包
public class MybatisPlusConfig {
/**
* 序列生成器
*/
@Bean
public OracleKeyGenerator oracleKeyGenerator(){
return new OracleKeyGenerator();
}
}
第三步
在实体类上增加注解@KeySequence(value = "SEQ_TRAVEL_APPLY")
其中的value就是你创建的序列名。
###clazz = Integer.class 需要与你主键的类型保持一致,主键是Integer 这里也是Integer
在主键上增加注解 @TableId(value = "APPLY_ID",type = "IdType.INPUT")
@TableName("t_sm_user")
@KeySequence(value = "SEQ_TRAVEL_APPLY")
public class TSmUser extends MyBaseModel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "ID", type = IdType.INPUT)
private Long id;