Topic: 如何自动生成"ORG0000001"形式的ID |
Print this page |
1.如何自动生成"ORG0000001"形式的ID | Copy to clipboard |
Posted by: joinstar Posted on: 2005-12-28 15:22 请问下在SERVLET中如何自动生成"ORG0000001"形式的ID?依次为“ORG0000002,ORG0000003...................”,我的jdbc不支持rs.first(),rs.last(),rs.previous()方法:(是不是得用到递归,请高手指点下,谢谢! |
2.Re:如何自动生成"ORG0000001"形式的ID [Re: joinstar] | Copy to clipboard |
Posted by: cjyzpcl Posted on: 2005-12-29 10:34 可以这样弄,设置一个基数放到数据库中,初始为0,每次启动服务的时候载入application context中。然后对每个会影响"ORG000XXXX"id变化的数据库操作用transaction包裹,成功就对基数进行改变,然后生成id,主要关心的就是同步性问题,然后写一个事件,在服务关闭的时候把基数写会数据库。 |
3.Re:如何自动生成"ORG0000001"形式的ID [Re: joinstar] | Copy to clipboard |
Posted by: joinstar Posted on: 2005-12-29 19:35 不太懂,可否说详细点,谢谢! |
4.Re:如何自动生成"ORG0000001"形式的ID [Re: joinstar] | Copy to clipboard |
Posted by: cjyzpcl Posted on: 2005-12-30 12:35 意思是每次启动的时候都从数据库中得到id最大值,然后通过这个值在程序中生成ID。另外,在application context 的destroy()方法中将其写会数据库中。 |
5.Re:如何自动生成"ORG0000001"形式的ID [Re: joinstar] | Copy to clipboard |
Posted by: roycexu Posted on: 2005-12-30 16:09 服务器断电怎么办? |
6.Re:如何自动生成"ORG0000001"形式的ID [Re: joinstar] | Copy to clipboard |
Posted by: ken0719 Posted on: 2005-12-31 09:28 使用一个数据库表存储其它表的当前ID,去这个表查一下就可以得到最大值了,每次提交数据的时候,同时更新一下该表的最大值字段,如果不是分布式应用,可以在服务器上对这个值缓存,提交数据的时候,就要对存ID的表更新,同时更新缓存的值。 |
7.Re:如何自动生成"ORG0000001"形式的ID [Re: joinstar] | Copy to clipboard |
Posted by: cjyzpcl Posted on: 2005-12-31 15:42 可以利用ken0719的方法。 这样断电的问题可以解决。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |