idgenerator.java
来自「EasyDBO v0.4 是一个非常适合中小型软件数据库开发的数据持久层框架」· Java 代码 · 共 45 行
JAVA
45 行
package com.easyjf.dbo;
import java.util.Random;
public class IdGenerator implements IIdGenerator {
//private static IdGenerator idGenerator=null;
public IdGenerator()
{
}
/*
public synchronized static IdGenerator getInstance()
{
if(idGenerator==null)
{
idGenerator=new IdGenerator();
}
return idGenerator;
}*/
public synchronized Object generator(Class classType) {
return nextValue(classType,null);
}
public Object generator(Class classType,String column) {
return nextValue(classType,column);
}
private synchronized String nextValue(Class classType,String column)
{
StringBuffer id=new StringBuffer(""+(new java.util.Date().getTime()));
Random r=new Random(10);
id.append(Math.abs(r.nextInt()));
if(!check(id.substring(0,16),classType,column))return nextValue(classType,column);
else return id.substring(0,16);
}
private synchronized boolean check(String id,Class classType,String column)
{
boolean r=true;
EasyJDB db=EasyJDB.getInstance();
Object obj=db.get(classType,id);
if(obj!=null)r=false;
return r;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?