如果我的主键id 带有字母的情况下、我该如何去得到最大的id进行添加其他数据
悬赏:5 发布时间:2008-07-20 提问人:wlhbye (初级程序员)
hibernate主键id 不是自增的 id是char(5) 第一位是字母 我需要添加多条数据
我的思路是得到数据库中的最大id 值 在其基础上+1 现在出现的问题是第一位字母
报出了这样的错误 For input string: "t0001"
!!!!!
请帮帮忙
问题补充:
public ActionForward addTemplate(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TemplateForm templateForm = (TemplateForm) form;
try {
TemplateService templateService = (TemplateService) ServiceFactory_lh
.getTemplateService();
Template tem = new Template();
HttpSession session = request.getSession(false);
SecUser username = (SecUser) session.getAttribute("user");
String templatename=templateForm.getTemplateName();
ActionMessages errors=new ActionMessages();
if(templateService.isNameRegistered(templatename)){
errors.add("errors",new ActionMessage("errors.exist"));
saveErrors(request,errors);
return new ActionForward("/template/template01Attribute.jsp");
}else{
tem.setCreator(username.getLoginName());
tem.setTemplateName(request.getParameter("templateName"));
tem.setCreateTime(new Date());
tem.setModifyTime(new Date());
tem.setType("1");
tem.setUsedTimes(Long.valueOf("1"));
tem.setState("1");
tem.setTemplateId(String.valueOf(templateService.getMaxTemplateId()));
templateService.addTem(tem);}
} catch (RuntimeException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
ActionForward f = new ActionForward(
"/template.do?method=searchTemplate");
f.setRedirect(true);
return f;
}
请问在这里怎么做修改
问题补充:
/**得到最大的id值*/
public int getMaxTemplateId() {
List list = null;
Object[] params = {};
try {
list = this
.findBySQL("select max(TEMPLATE_ID) m from template", params);
} catch (Exception e) {
e.printStackTrace();
}
BasicDynaBean b = (BasicDynaBean) list.get(0);
String temp=(String) b.get("m");
Integer i = Integer.valueOf(temp.trim());
return i.intValue() + 1;
}
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员
我的思路是得到数据库中的最大id 值 在其基础上+1 现在出现的问题是第一位字母
报出了这样的错误 For input string: "t0001"
!!!!!
请帮帮忙
问题补充:
public ActionForward addTemplate(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TemplateForm templateForm = (TemplateForm) form;
try {
TemplateService templateService = (TemplateService) ServiceFactory_lh
.getTemplateService();
Template tem = new Template();
HttpSession session = request.getSession(false);
SecUser username = (SecUser) session.getAttribute("user");
String templatename=templateForm.getTemplateName();
ActionMessages errors=new ActionMessages();
if(templateService.isNameRegistered(templatename)){
errors.add("errors",new ActionMessage("errors.exist"));
saveErrors(request,errors);
return new ActionForward("/template/template01Attribute.jsp");
}else{
tem.setCreator(username.getLoginName());
tem.setTemplateName(request.getParameter("templateName"));
tem.setCreateTime(new Date());
tem.setModifyTime(new Date());
tem.setType("1");
tem.setUsedTimes(Long.valueOf("1"));
tem.setState("1");
tem.setTemplateId(String.valueOf(templateService.getMaxTemplateId()));
templateService.addTem(tem);}
} catch (RuntimeException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
ActionForward f = new ActionForward(
"/template.do?method=searchTemplate");
f.setRedirect(true);
return f;
}
请问在这里怎么做修改
问题补充:
/**得到最大的id值*/
public int getMaxTemplateId() {
List list = null;
Object[] params = {};
try {
list = this
.findBySQL("select max(TEMPLATE_ID) m from template", params);
} catch (Exception e) {
e.printStackTrace();
}
BasicDynaBean b = (BasicDynaBean) list.get(0);
String temp=(String) b.get("m");
Integer i = Integer.valueOf(temp.trim());
return i.intValue() + 1;
}
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员




