background image

Java 实现自动在数据库表中生成 ID 

  前段时间用 Struts 开发了一个 B/S 结构的信息管理系统,其中有一个功能是要求管
理员能够对数据字典进行修改,数据字典的表结构基本上都是 table(id,name),id 为数
据库(

 

 

数据库培训 数据库认证 )其它表中所存储的内容,表示方式为

A01、A02、A08、B10、B25、C12 等等,一个字典就分配一个字母作为其 ID 号的标识,其
实就是为了调试时方便,在其它的表中判断该字典的名称。因此对于一个特定的字典表来
说,其 ID 号排序应该是 A01、A02、A03、A04……
  在对字典内容进行删除的时候并不需要考虑什么,直接使用 DELETE 语句就可以了。
关键是添加字典信息时,管理员需要在表单中填写的是 table 中的 name 字段,ID 号如
何生成就需要自己用代码来实现(包括 ID 号的 01 号空缺,中间有断开等情况)。下面是我
设计的代码,其中关键的地方都有详细的注释:
  注意:之所以生成 A01 而不是 A1,是因为在 SQLServer2000 中根据 ID 号正确排
序的需要,如果按照升序排列,A1 后面是 A10、A11 等,而不是 A2。另外,在
Hibernate 中有多种自动生成 ID 字段的方法,但是这个项目比较小,我没有使用
Hibernate 中间件,这里提供的只是生成字典 ID 字段的一种简单思路,只能用于字典项
不多于 100 项的情况,一般的情况可以满足了,但如果超过 100 项只需简单修改一下代
码,不足之处还请大家多指教!