本文目录一览:
- 1、java中的自增问题
- 2、java怎么让非主键的字段自增
- 3、javastream里如何实现自增
- 4、Java语言中的自增运算符b=a++这个语句,先把a赋给b,然后a再加1,这种语句一般用在啥情况当中?
java中的自增问题
因为count++先赋值后自增。每次循环都先把0赋值给了count,然后又+1了,但这时候count已经用不到了,你可以改成++count就好了
java怎么让非主键的字段自增
首先,你如果想把id列设置为自增列,直接在数据库中将其设置为自增列就可以了。
然后,等你添加数据的时候使用如下的语句:
1
INSERT
INTO
dingdan(sname,snumber,rname,rnumber,address,beizhu,cdate)
VALUES
(?,?,?,?,?,?,?)
数据库会自动帮你添加id列的值。
所以,你的这个代码可以改为:
1
2
3
4
5
6
7
8
9
10
String
insertCondition="INSERT
INTO
dingdan(sname,snumber,rname,rnumber,address,beizhu,cdate)
VALUES
(?,?,?,?,?,?,?)";
sql=con.prepareStatement(insertCondition);
sql.setString(1,handleString(sname));
sql.setString(2,handleString(snumber));
sql.setString(3,handleString(rname));
sql.setString(4,handleString(rnumber));
sql.setString(5,handleString(address));
sql.setString(6,handleString(beizhu));
sql.setTimestamp(7,new
Timestamp(System.currentTimeMillis()));
//获取系统当前时间
int
m=sql.executeUpdate();
javastream里如何实现自增
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());
}
Java语言中的自增运算符b=a++这个语句,先把a赋给b,然后a再加1,这种语句一般用在啥情况当中?
在java里这个语句是没有异议的,早期的C确实很多不同的编译优先级不一样会有异议。
这个一般会用在迭代里面,a作为循环自变量赋值给b后再自增,这样子在循环里面就不需要再加一个a自增的语句了使代码更加简洁,但是不一定明了,因为萌新一般看不懂,还要翻书去找优先级……
像类似的,也有用 arr[a++]=xxx; 之类的循环来遍历数组。