用户对象里有一个用户代码属性,是String类型的。
我想在提交表单的时候,自动生成用户代码,格式如A0001,A0002,A0099;
每增加一个用户,生成一个用户代码,而且是后一个比前一个大一,即递增,
这个功能要在Action中怎么实现呢?
系统是:Struts2 + Spring2 + Hibernate3 + MySQL
我想在提交表单的时候,自动生成用户代码,格式如A0001,A0002,A0099;
每增加一个用户,生成一个用户代码,而且是后一个比前一个大一,即递增,
这个功能要在Action中怎么实现呢?
系统是:Struts2 + Spring2 + Hibernate3 + MySQL
解决方案 »
- hibernate问题
- tomcat在马上要启动完成的时候为什么又要重新启动一次?
- 紧急提问 com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
- 欢迎大家+入java群32054369
- 给个jmail stmp的发送列子
- 作好的JavaBean应该放在tomcat中哪个目录里,用设环境变量吗?
- Struts 中的 Action类execute()方法中的request是页面传来的请求吗?
- 在一般的公司及企业中用的J2EE服务器主要有哪些
- 如何对日志进行处理。。。
- 关于实体BEAN的事务管理的提问。
- 求救
- 很具挑战性的一组数字循环输出问题
String newCode = "A" + ((10000 + Integer.parseInt(oldCode.substring(1), 10)) + "").substring(1);
String newCode = "A" + ((10000 + Integer.parseInt(oldCode.substring(1), 10)) + 1 + "").substring(1);
写一个工具类来处理它
然后那个A嘛,再附加个字段不就好了嘛
随便以后还有B啊C啊什么的我以前就是这样做的
呵呵
祝你成功
你的id是string,所以处理相对复杂
String maxid = channelDao.getMaxId();
if(maxid==null){
newid = "A0001";
//添加操作
}else{
int id = Integer.parseInt(maxid.substring(1))+1;
int size = maxid.length()-String.valueOf(id).length()-1;
String newid = "A";
for (int i = 0; i < size; i++) {
newid+="0";
}
newid+=String.valueOf(id);
System.out.println(newid);
//添加操作
}
用sequence,在操作失败的时候也是会加1的,所以你的序列号可能跳步,稳妥地还是查询以后在加1处理