重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以参考下述代码:
创新互联专注于企业营销型网站、网站重做改版、密山网站定制设计、自适应品牌网站建设、html5、购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为密山等各大城市提供网站开发制作服务。
private static int sn = 0;
public synchronized int getNextSN() {
return ++sn;
}
public int getCurrentSN() {
return sn;
}
java项目实现流水号自动增长
项目中有一个规则编号字段,从1开始,编号长度为5位,那么第一条数据编号就是00001。
实现的基本思路就是项目启动时,从数据库获取当前最大值,作为静态变量存储;
业务获取新的编码,考虑并发问题,获取编码方法(编码自增部分)为synchronized同步方法,如果自增为原子操作,则无需同步;
编码前置0,使用String.format("%05d", newNum);格式化获取。
实现代码如下:
private final static AtomicInteger atomic = new AtomicInteger(0);
public static String startFormat(String format) {
return String.format(format, atomic.incrementAndGet());
}
如果是自增字段,从一开始就不能手动写代码set值,只能使用自增。如果你手动set一个1,而字段没自增过,那么下次字段就会自增为1,这样两个值就冲突了。解决办法是将表重新构建一下,或将自增初始值设为0,让他从头开始自增,而程序中凡是认为set值的地方都去掉,在sql语句中不要insert这个字段
//数组的话只能设置固定的。。。
String[] arr = new String[12];
//可以使用List
java.util.List list = new java.util.ArrayList();
for(int i = 0; i 20000; i++){
list.add(i);//添加list的值
}