1つの増分から毎日達成するためのJavaコード

始める前は、0から仕方データベースの実装を高めに興味の缶を見ているので、運動会書いた:非プライマリキー増分シーケンス、最初から毎日データベースに保存する必要があります0

今すぐ共有への簡単な方法:

達成のRedis:

/**
 * redis操作Service,
 */
public interface RedisService {
    /**
     * 自增操作
     * @param delta 自增步长
     */
    Long increment(String key, long delta);

}
/**
 * redis操作Service的实现类
 */
@Service
public class RedisServiceImpl implements RedisService {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Override
    public Long increment(String key, long delta) {
        return stringRedisTemplate.opsForValue().increment(key,delta);
    }
}

 呼び出しパッケージRedisの方法:ロングインクリメント= redisService.increment(キー、1);インクリメント後のインクリメントは、私たちが望むのデータです。

/*
 *
 */
private String OrderSn(OmsOrder order) {
         StringBuilder sb = new StringBuilder();
        String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
        String key = ORDER_ID+date;
        Long increment = redisService.increment(key, 1);//只要key相同,会一直加1,如果key变了从1开始
        String incrementStr = increment.toString();
        if (incrementStr.length() <= 6) {//不足六位补0
            sb.append(String.format("%06d", increment));
        } else {
            sb.append(incrementStr);
        }
        return sb.toString();
    }

 

公開された39元の記事 ウォンの賞賛6 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_40155654/article/details/105004835