前一段时间在处理增加数据表信息时,有个Code属性为XM-000001,字符串‘XM-’和
数字000001的集合型。要实现导入数据后,code字段实现自增长的功能。
解决思路:1.获取当前数据表的最大ID;
//查找最大id
@SuppressWarnings("unchecked")
@Override
public Object findLastProjectId() {
String hql="select p.id from ProjectInfo p order by Id desc";
System.out.println("projectInfo最大id为: ");
return this.getHibernateTemplate().find(hql).get(0);
}
2.根据最大ID获取最后一个实例对象;
3.这样就能获取到当前数据表最大的code值;
4.对code字段中数字部分截断处理,实现自增1,并重新拼凑成新的字段
字段处理语 句如下:
// 获取当前数据表中最大id值 Object id1 = projectInfoService.findLastProjectId();
long id=Long.parseLong(String.valueOf(id1));
//code根据最大ID值获取对应code 进行+1处理
String code = projectInfoService.getProjectInfo_ById(id).getCode();
if ( id>=0) {
int b = Integer.parseInt(code.substring(3, 9));
b=b+1; //自增1
String str=String.format("%06d", b); //转变为000001型整数 可以实现按位数补零
code = "XM-".concat(str);
System.out.println(code);
}
总结时间:2017-4-21 地点:永君