/**
* @param sql 查询用sql语句
* @param digits 保留的位数
* @return
*/
public String getSequence(String sql, int digits){
long sequnce = 0;
Object result = this.genericHibernateDao.getObjectBySQL(sql);
if(result!=null){
sequnce = Long.parseLong(result.toString())+1;
} else {
sequnce += 1;
}
long number = sequnce;//目的, 避免sequence失真
int counter = 0;//计数器, 判断从数据库查到到的数据是几位数
while (number > 0) {
number = number/10;
counter++;
}
String newsequence = "";//接收处理后的结果
if (counter执行相应的sql 比如:select max(to_number(t.SERIAL_NUM)) as sequnce from XC_AUTOMOBILE_INFO t
Object result = this.genericHibernateDao.getObjectBySQL(sql);
getObjectBySQ是封装在dao中的方法
获取数据库中已存在的最大流水号,
获取后增加一, 产生新的流水号, 如果对流水号有位数要求,
而查到的最大流水号位数不足时, 用''0''来代替空位.
本文介绍了一种使用SQL和Java实现的流水号生成方法。该方法通过查询数据库中已存在的最大流水号并在此基础上加一来生成新的流水号。若流水号位数未达到规定长度,则在其前补足零。
1981

被折叠的 条评论
为什么被折叠?



