2.8 id和顺序号

  整数id和字符串id都是很常用的,数据库也有工具提供支持。我们也可以通过程序自动生成,效率也很高,如果:
  synchronized (this) {
    maxSeqNo = new Integer(curMaxId++);
  }
  //第一次使用需要读取数据库的最大值
  但是我们使用的环境多种多样,比如在集群、多数据库(后台程序定时同步数据)的情况下有的方法就不适用,而且,开发人员也不应该关心底层的具体实现方式,因此需要我们封装标准的整数id(IntId)、字符串id(StringId)的生成类。我们可以根据实际情况灵活配置。
  序列号也是另外一种id,由于有时候需要和日期或者部门绑定,因此我们也提供一个序列号的生成类(Serial)。

  下面是对外公开的方法:
  /**
   * 通过条件生成顺序号
   * @param tableName     表名(类别)
   * @return              生成顺序号
   * @throws java.lang.Exception   执行失败
   */
  static public Integer getIdentity(String tableName) throws Exception

  /**
   * 取下一个字符串id
   * @param tableName     表名(类别)
   * @return      下一个字符串id
   * @throws java.lang.Exception
   */
  static public Integer getNextStringId(String tableName) throws Exception

  /**
   * 通过条件生成序列号
   * @param serialName    序列号名字(模板)
   * @param depNO         部门
   * @param date          时间
   * @return              生成序列号
   * @throws java.lang.Exception   执行失败
   */
  static public String getSerialNO(String serialName, String depNO, String date) throws Exception

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值