Browse Source

id生成重复问题

dev
jianjun 3 years ago
parent
commit
2dd4f1b220
  1. 27
      epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/config/MybatisPlusConfig.java
  2. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java

27
epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/config/MybatisPlusConfig.java

@ -1,29 +1,38 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
package com.epmet.commons.mybatis.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.epmet.commons.mybatis.interceptor.DataFilterInterceptor;
import com.epmet.commons.tools.redis.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import java.util.Random;
/**
* mybatis-plus配置
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Slf4j
@Configuration
public class MybatisPlusConfig {
@Autowired
private RedisUtils redisUtils;
/**
* 配置数据权限
@ -45,4 +54,18 @@ public class MybatisPlusConfig {
return interceptor;
}
/**
* id生成器指定2个参数 防止id重复
*/
@Bean
@Order(0)
public DefaultIdentifierGenerator myIdentifierGenerator() {
Random random = new Random();
int workerId = random.nextInt(30) + 1;
int dataCenterId = random.nextInt(30) + 1;
DefaultIdentifierGenerator interceptor = new DefaultIdentifierGenerator(workerId, dataCenterId);
log.info("workerId:{},dataCenterId:{}", workerId, dataCenterId);
return interceptor;
}
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java

@ -8,7 +8,6 @@
package com.epmet;
import com.epmet.util.MySequence;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@ -32,7 +31,6 @@ public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
MySequence identifierGenerator = new MySequence();
}
}

Loading…
Cancel
Save