今天给各位分享java根据日期生成不重复的的知识,其中也会对java生成不重复的随机整数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、java自动生成‘日期0001’顺序号 如‘201404170001’,生成下一个时不重复2、java如何生成12位永远不重复的数字3、如何用java产生不重复的随机函数
java自动生成‘日期0001’顺序号 如‘201404170001’,生成下一个时不重复
#DROP FUNCTION IF EXISTS func_getVoucherId ;
CREATE FUNCTION func_getVoucherId/*生成凭证编号*/
(
f_str varchar(255)
)
returns varchar(255) charset utf8
begin
/*获取最大凭证号*/
declare v_maxVoucherId varchar(255) default ”;
/*获取最大凭证号*/
declare v_flowMaxVoucherId varchar(255) default ”;
/*新的凭证号*/
declare v_newVoucherId varchar(255) default ”;
/*判断是新增存盘还是入账存盘*/
if ifnull(rtrim(f_str),”) = ” then
select max(voucher_code) into v_maxVoucherId from finance_voucher ;
if ifnull(rtrim(v_maxVoucherId),”)=” then
set v_newVoucherId = rpad(replace(cast(curdate() as char(255)),’-‘,”),11,0); /*生成凭证编号*/
else
set v_newVoucherId = convert((convert(v_maxVoucherId,signed)+1),char(255));
end if ;
elseif ifnull(rtrim(f_str),”) = ‘r’ then
select max(voucherInfo) into v_flowMaxVoucherId from province_voucher_account_flow ;
if ifnull(rtrim(v_flowMaxVoucherId),”)=” then
set v_newVoucherId = rpad(replace(cast(curdate() as char(255)),’-‘,”),12,0); /*生成凭证编号*/
else
set v_newVoucherId = convert((convert(v_flowMaxVoucherId,signed)+1),char(255));
end if ;
end if ;
return v_newVoucherId ;
end ;
我目前做的项目也涉及到了这个生成规则,我用MYSQL数据库函数写了一个,你看下吧,希望能帮到你
java如何生成12位永远不重复的数字
Calendar calendar = Calendar.getInstance();
System.out.println(“现在:”+calendar.getTime().getTime());
calendar.add(Calendar.YEAR, 10);
System.out.println(“10年后:”+calendar.getTime().getTime());
时间戳高并发还是会有重复的,你应该每获取一次加1的方法生成。用锁对象或者把方法声明为synchronized保证并发也不会重复。如果有用数据库,也可以用数据库提供的sequence来帮你生成。
扩展资料:
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类;
通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
参考资料来源;百度百科-Java
如何用java产生不重复的随机函数
给你个参考 加个时间戳
你可以这样来实现
方法名前几位固定 例Test
后几位用这种方式产生 String timestamp= new java.text.SimpleDateFormat(“yyyyMMddHHmmss”)
.format(new java.util.Date());
最后把test和后几位穿起来就可以了,后几位由系统时间来得到的毫秒数,如果以秒的单位内不可能产生重复。
关于java根据日期生成不重复的和java生成不重复的随机整数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。