java中自动生成编码

Java生成规律编码的思路

/*** 
 *  
 * getCommonBh:(获得通用的编号:前缀(一般是单位的前N位+当前时间(自定义格式)+格式化的sequence值:00001)). <br/>  
 * @param prefix 编号的前缀 
 * @param timeFormt 日期格式,在需求添加日期时候使用 
 * @param sequenceName sequence名称 
 * @param length sequence格式 %08d:8位不够的补0 
 * @return 唯一的编号 
 * @since JDK 1.6 
 */  
public String getCommonBh(String prefix, String timeFormt, String sequenceName, String length)  
{  
    String datenumber = "";  
    if (StringUtils.isNotEmpty(timeFormt))  
    {  
        datenumber = DateUtils.doFormatDate(new Date(), timeFormt);  
    }  
    if (StringUtils.isEmpty(length))  
    {  
        length = "8";  
    }  
    String seqStr = getSequenceByName(sequenceName, length);  
    return new StringBuilder(prefix).append(datenumber).append(seqStr).toString();  
}  
  
/** 
 *  
 * getSequenceByName:(获取一定格式的sequence值). <br/> 
 * @param sequenceName sequence名称 
 * @param length 需要的长度,格式例如::8位不够的补0 
 * @return String 格式化后的sequence值 
 * @since JDK 1.6 
 */  
public String getSequenceByName(final String sequenceName, final String length)  
{  
    if (StringUtils.isBlank(sequenceName))  
    {  
        return "";  
    }  
    else  
    {  
        return (String)this.getHibernateTemplate().execute(new HibernateCallback()  
        {  
            public Object doInHibernate(Session session)  
                throws SQLException  
            {  
                Query query = getSession().createSQLQuery(" SELECT " + sequenceName + ".nextval from dual");  
                BigDecimal seq = (BigDecimal)query.uniqueResult();  
                if (seq != null)  
                {  
                    return String.format("%0" + length + "d", seq.longValue());  
                }  
                else  
                {  
                    return "001";  
                }  
            }  
        });  
    }  
} 




  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
java代码checkstyle的规范检查点特别多。再加上同时还有部门自己的一套编码规范,在eclipse开发环境,研发人员很难驾驭如此多的条条框框。本文提供的技术能轻松的解决研发人员关于编码规范的苦恼,因为这部分工作由本人提供的脚本已完全能够自动生成。当然这里的编码规范不包括java语言本身的使用机制,也就是说java代码的使用与否只能由研发人员控制,不可能由自动化脚本完成。 使用本文技术的好处: 1. 能把checkstyle检查单检查出的80%的错误自动排除,如关于tab键的使用问题。如果不使用本人的脚本,每个研发人员要在eclipse配置一遍或干脆不使用tab键,加上eclipse使用上并不直观并且该软件经常出错,所以对研发人员来说这是很痛苦的一件事情。当然编码规范远远不止tab的禁止使用问题,如空格,换行等很多细节问题,所以每次都要这样配置,将极大的影响工作效率; 2. 把checkstyle的大部分错误排除后,即使checkstyle检查单还有少量错误,也往往是与具体的编码有关,这对研发人员集精力于java技术本身就非常有意义了; 3. 由于本人提供的自动化脚本既包括注释的规范化,同时也包括对代码格式的规范化,这对提升java代码整体质量意义重大; 4. 把研发人员从纠缠于编码规范细节的锁细工作解脱出来,极大地提升了工作效率,否则光是看到checkstyle检查单上的一堆错误,不仅伤及信心,同时要逐个去纠正,工作量将极其巨大; 建议:由于本文提供的技术十分实用,建议在部门尽快推广使用之,这对提升过程质量及研发人员的工作效率非常有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值