1、Dao層實現數據庫查詢方法,返回值類型爲List泛型數組
//根據章節ID查詢字段信息
public List<ShfwZlbdZd> searchZdList(String zjid) {
String hql = "from ShfwZlbdZd t where t.zjid=? order by t.xh asc";
return getHibernateTemplate().find(hql,zjid);
}
2、Manager層調用Dao層中聲明的查詢方法
//重寫getById方法
public ShfwZlbdZd getById(String zjid){
//根據章節id獲取字段基本信息
ShfwZlbdZd zlbdzd = shfwZlbdZdDao.getById(zjid);
//根據章節表單id獲取字段信息
List<ShfwZlbdZd> list = shfwZlbdZdDao.searchZdList(zjid);
//將獲取的章節信息存入zlbd的屬性中
zlbdzd.setZds(list);
//將整個質量表單信息返回調用方
return zlbdzd;
}
3、Action層(將獲取的數據轉換爲數組,並以Json格式輸出給客戶端)
//聲明searchByZjId.do方法
public void searchByZjId() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("curPage", 1);
map.put("success", true);
List<ShfwZlbdZd> list = shfwZlbdZdManager.searchByZjId(shfwZlbdZd.getZjid());
map.put("totalRows", list.size());
map.put("data", list);
outJson(map);
}
總結:
1、首先在Dao層實現與數據庫交互的方法,
2、在Manager層承載業務邏輯,主要工作在於邏輯代碼的編寫,
3、Action層主要用於業務跳轉,管理業務調度
舉例:
Action像是服務員,顧客點什麼菜,菜上給幾號桌,都是ta的職責;
Service(Manager)是廚師,action送來的菜單上的菜全是ta做的;
Dao是廚房的小工,和原材料打交道的事情全是ta管。