当前位置:  技术问答>java相关

在公司注册时,如何自动生成公司的编号?及通常的COMPANY_ID??

    来源: 互联网  发布时间:2015-05-19

    本文导语:  我在做一个简单的B to B 系统,想在公司注册时,自动生成一个公司的编号,比如: COMPANY_NAME        COMPANY_ID 惠普公司              100000   西门子                100001 。。。            ...

我在做一个简单的B to B 系统,想在公司注册时,自动生成一个公司的编号,比如:

COMPANY_NAME        COMPANY_ID
惠普公司              100000  
西门子                100001
。。。                 ...

及由编号来唯一确定该公司。并且编号形式是可以由我事先定义的。

怎么实现??谢谢!



|
这样你会得到一个精确到毫秒级的当前时间值,是long型的,你可以把它作为ID;为了避免并发性问题的发生,你必须加上同步,同步的概念你可以看看Java书,它使用到方法上可以避免两个用户同时调用一个方法。

|
一般的做法是取数据表中的COMPANY_ID字段的最大值,加一作为新的ID
如果这个编号不会让用户看到,且无什么实际意义的话,建议你采用new Date().getTime()作为ID,但必须加上同步

|
sequence:

SQL> CREATE SEQUENCE s_dept_id
2 INCREMENT BY 1
3 START WITH 51
4 MAXVALUE 9999999
5 NOCACHE
6 NOCYCLE;
Sequence created.

SQL> insert into s_dept(id,name,region_id)
 2   values      (s_dept_id.nextval,'finance',2);

1 row created.
至于你想自己制定id,可以用sequence的id和一个串来联合作为你的id。


|
数据库是oracle的话,用数据库的sequence,如果是sql server,写一个触发器,
对一个变量自动加1.

|
用Random()呀.
long l=new Random.nextLong();

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3