java有关自动生成ID的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java有关自动生成ID的方法相关的知识,希望对你有一定的参考价值。
数据库有5个字段,idType(类型),idMax(最大值),idMin(最小值),length(长度),idDang(当前值),idFan(返回值)
在service有一个CreateId(String idTypes)方法,调用这个方法最终会返回idFan这个值
逻辑:调用这个方法的时候,会传来一个值idTypes 与idType 比较,如果相等的话,取到当前值idDang,然后判断length,假如说length值是9,idDang值是1的话,返回的idFan的值就是idDang+1,然后在前面加上8个0. 也就是‘000000002’,并且idDang的值要更新为,idDang+1,
如果idDang值是20的话,返回的idFan的值就是‘000000021’,并且idDang的值也更新为idDang+1
这个逻辑与数据库的序列逻辑有点类似,具体该怎么写呢
就是数据库那个序列自增的逻辑, 用JAVA来写出来=、=
如果是oracle数据库,就使用序列,把序列插入到要用的那个ID里米就行拉 参考技术A oracle :
create sequence 序列名
create sequence XX_seq;
自增长: XX_seq.nextval
mysql:
建表的时候在主键后面加上 auto_increment 例如:
create table student(
id int(4) primary key auto_increment,
name varchar(30) not null
);追问
要用JAVA来写一个方法。。方法跟数据库 的序列的那个逻辑差不多。。不是建序列
追答for循环
for(int i=1; i<100;i++)
System.out.print(i+" ");
java 产生递增id
这些最基本的偶小时候就知道了!
我要的是分布式高并发条件下的递增id
public class QQ
static long id = 10000;
public QQ()
id++;
不知道是不是你问的这个意思,是的话,求采纳哦,5044群5871 参考技术A public class zz
public static void main(String args[])
int id=0
while(1==1)
id++;
参考技术B 还是要看具体你需要做什么啊。最简单的就是直接定义一个int,赋一个初始值,然后做完你要做的操作,加个一就是了。其他的就看情况了。要求不同,方法不同 参考技术C 这个很简单的吧。递增就是做完事情后+1不就可以了。具体你要实现什么?
以上是关于java有关自动生成ID的方法的主要内容,如果未能解决你的问题,请参考以下文章
利用Java.util.UUID来生成唯一ID(用来做数据库主键好用)
R语言数据集划分(使用随机分组标记分成测试集和训练集)对于数据集中多条数据有关系或者依赖的情况获得分组数据的ID,并为相同分组数据生成相同的抽样ID,之后再抽样生成测试集和训练集