Browse Source

id生成重复问题

master
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. * Copyright (c) 2018 人人开源 All rights reserved.
* * <p>
* https://www.renren.io * https://www.renren.io
* * <p>
* 版权所有侵权必究 * 版权所有侵权必究
*/ */
package com.epmet.commons.mybatis.config; package com.epmet.commons.mybatis.config;
import com.baomidou.mybatisplus.annotation.DbType; 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.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.epmet.commons.mybatis.interceptor.DataFilterInterceptor; 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.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import java.util.Random;
/** /**
* mybatis-plus配置 * mybatis-plus配置
* *
* @author Mark sunlightcs@gmail.com * @author Mark sunlightcs@gmail.com
* @since 1.0.0 * @since 1.0.0
*/ */
@Slf4j
@Configuration @Configuration
public class MybatisPlusConfig { public class MybatisPlusConfig {
@Autowired
private RedisUtils redisUtils;
/** /**
* 配置数据权限 * 配置数据权限
@ -45,4 +54,18 @@ public class MybatisPlusConfig {
return interceptor; 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; package com.epmet;
import com.epmet.util.MySequence;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.ServletComponentScan;
@ -32,7 +31,6 @@ public class UserApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args); SpringApplication.run(UserApplication.class, args);
MySequence identifierGenerator = new MySequence();
} }
} }

Loading…
Cancel
Save