1. JSP页面:
(1)新增页面
<tr class="list">
<td class="formlabel"align = right>
业务参考号:
</td>
<td class="formbody">
<input type="text"name = "CJZJ" maxlength="30"style="width: 280px;" />
</td>
</tr>
(1)修改页面
<tr class="list">
<td class="formlabel"align = right>
业务参考号:
</td>
<td class="formbody">
<input type="text"name = "CJZJ" value = <%= request.getAttribute("CJZJ")%>
maxlength="30" style="width: 280px;" </td>
</tr>
(3)删除页面
<tr class="list">
<td class="formlabel"align = right>
业务参考号:
</td>
<td class="formbody">
<input type="text"name = "CJZJ" value = <%= request.getAttribute("CJZJ")%>
maxlength="30" style="width: 280px;" readonly = "true"/>
</td>
</tr>
(4)复核页面同修改页面。
2.ACTION层代码
(1)新增页面里录入业务参考号 add方法。
分析:录入业务参考号,插入一条记录,
此记录含有外债编号(业务录入信息后的生成码),业务参考号(页面录入),业务类型(不同业务的类型不同,业务固定,刚此类型即已固定),ID(自动生成)
System.out.println("新增非居民机构存款签约信息成功!");
queryDataService.insertWzbhdzb("01",request.getParameter("CJZJ"),fjmjgckEntity.getExdebtcode());
System.out.println("新增外债编号对照表信息成功!");
(2)去住修改,删除,复核页面的方法:toMod/toCheck/toDel方法。
分析:
需要通过上一个页面带的ID—>获得非居民机构实体à获得此ID对应的外债编号—>通过外债编号从外债编号对照表里获得采集主键(即业务参考号)-à给前台设置(request.setAttribute(“CJZJ”),cjzj)
总之:ID--àCJZJ
代码:
String cjzj =
queryDataService.queryCjzjByExdebtCode(TFedsWzbhdzb.class,tfedsFjmjgck.getExdebtcode());
request.setAttribute(“CJZJ”,cjzj);
(3)修改/复核页面里在对业务参考号进行修改后需要对数据库中外债编号对照表中的信息做相应的修改。即modify/check方法里。
String exdebtcode = request.getParameter("EXDEBTCODE");
String id =queryDataService.queryIdByExdebtCode(TFedsWzbhdzb.class,exdebtcode);
queryDataService.updateWzbhdzb(id,"01",request.getParameter("CJZJ"),exdebtcode);
注:以上标红处代码是调用的底层的书写方法。
总之调用方法:
insertWzbhdzb() updateWzbhdzb()
queryCjzjByExdebtCode() queryIdByExdebtCode()
3. 调用底层方法:
(1) insertWzbhdzb() 外债编号对照表信息插入方法。
u ACTION层:queryDataService.insertWzbhdzb("01",request.getParameter("CJZJ"),exdebtCode);
u queryDataService类中:
public voidinsertWzbhdzb(Stringywlx,String cjzj,String exdebtCode){
TFedsWzbhdzbtFedsWzbhdzb = newTFedsWzbhdzb();
tFedsWzbhdzb.setYwlx(ywlx);
tFedsWzbhdzb.setCjzj(cjzj);
tFedsWzbhdzb.setWzbh(exdebtCode);
insert(tFedsWzbhdzb);
}
u 其中insert(tFedsWzbhdzb)这个是调用同类中的insert()方法。
public void insert(Object obj){
beanDao.insert(obj);
}
u 而在beanDao里的insert方法
public void insert(Objectbean) {
getHibernateTemplate().save(bean);
}
u 其中beanDao这个类继承hibernateDaoSupport这个类。
public class BeanDao extendsHibernateDaoSupport
(2) updateWzbhdzb() 外债编号对照表信息修改更新方法。
u Actionn层:queryDataService.updateWzbhdzb(id,"01",request.getParameter("CJZJ"),exdebtcode);
u QueryDataService类中updateWzbhdzb方法:
public void updateWzbhdzb(Stringid,String ywlx,String cjzj,String exdebtCode){
TFedsWzbhdzb tFedsWzbhdzb = new TFedsWzbhdzb();
tFedsWzbhdzb.setId(id);
tFedsWzbhdzb.setYwlx(ywlx);
tFedsWzbhdzb.setCjzj(cjzj);
tFedsWzbhdzb.setWzbh(exdebtCode);
update(tFedsWzbhdzb);
}
u 其中update()方法调用的是同类中的update方法:
public void update(Object obj){
beanDao.update(obj);
}
u beanDao里的update方法:
public void update(Object bean) {
getHibernateTemplate().update(bean);
}
(3) queryCjzjByExdebtCode() 通过外债编号获得采集主键方法
u action层:
String cjzj=queryDataService.queryCjzjByExdebtCode(TFedsWzbhdzb.class,tfedsFjmjgck.getExdebtcode());
u QueryDataService类中:
public String queryCjzjByExdebtCode(Class c,String exdebtCode){ return beanDao.queryCjzjByExdebtCode(c,exdebtCode);
}
u BeanDao类中:
//通过外债变号获得采集主键
public String queryCjzjByExdebtCode(Class c,String exdebtcode){
String sql = "selectt.cjzj from " + c.getSimpleName()
+ " t where t.wzbh ='" + exdebtcode + "'";
//System.out.println("1111111111"+getHibernateTemplate().find(sql));
if(String.valueOf(getHibernateTemplate().find(sql))== "[]"){
return " ";
}else {
Object obj =getHibernateTemplate().find(sql).get(0);
// System.out.println("222222222");
// System.out.println("obj="+obj);
// System.out.println("3333333331");
// System.out.println(sql);
// String cjzj= String.valueOf(obj);
// if(cjzj== "[]"){
// System.out.println("采集主键的值:为空值");
// return" ";
// }else{
// System.out.println("采集主键的值:"+cjzj);
// returncjzj.substring(1,(cjzj.length()-1));
// }
return String.valueOf(obj);
}
}
(4) queryIdByExdebtCode()通过外债编号获得与此外债编号对应的采集主键的那条记录对应的ID,用于作此条记录的更新时使用。
u ACTION层MOD方法内:
String id =queryDataService.queryIdByExdebtCode(TFedsWzbhdzb.class,exdebtcode);
u queryDataServic里:
public String queryIdByExdebtCode(Class c,StringexdebtCode){
returnbeanDao.queryIdByExdebtCode(c,exdebtCode);
}
u beanDao里:
//通过外债编号获得ID
public String queryIdByExdebtCode(Class c,Stringexdebtcode){
// System.out.println("进入beanDao里的方法");
Stringsql = "select t.id from " + c.getSimpleName()
+" t where t.wzbh ='" +exdebtcode + "'";
// System.out.println(sql);
Objectobj = getHibernateTemplate().find(sql).get(0);
// String id =String.valueOf(obj);
// returnid.substring(1,(id.length()-1));
// System.out.println("ID:"+String.valueOf(obj));
// System.out.println("退出beanDao里的方法");
return String.valueOf(obj);
}
此处需要深入几处:c.getSimpleName(),Class c作为参数反射,getHibernateTemplate().find(sql).get(0)