程序中某些字段需要自动生成编号,结合oracle数据库中序列,可以自动生成编号,具体实现如下
1.在数据库表中,添加序列
CREATE SEQUENCE 序列名 MINVALUE 1 MAXVALUE 999999 START WITH 1 INCREMENT BY 1 NOCACHE;
2 在dao层查询数据库
public Integer getValue() {
Session session = getHibernateSession();
String sql = "SELECT 序列名.NEXTVAL FROM SYS.DUAL";
Query query = session.createSQLQuery(sql);
Object obj = query.uniqueResult();
return Integer.parseInt(obj.toString());
}
3 在业务层调用
本例截取6位数字加2位固定字母形式
业务层调用方法::seqValue=调用
截取:String docNumber = "SJ" + String.format("%06d", seqValue);
4 回显到页面对应字段中