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)