首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts+Hibernate+Sprint组合完美实现

2012-11-07 
Struts+Hibernate+Sprint结合完美实现实现接口类:package com.wu.daoimport java.util.Listimport hib.*

Struts+Hibernate+Sprint结合完美实现
实现接口类:
package com.wu.dao;
import java.util.List;
import hib.*;
import org.springframework.orm.hibernate3.support.*;
public class EmailDAOImp extends HibernateDaoSupport implements IEmailDAO {
org.springframework.orm.hibernate3.LocalSessionFactoryBean  sessionFactory;
/*
  * (non-Javadoc)
  * @see com.wu.dao.IEmailDAO#deleteE(int)
  * deleteE方法删除数据 按编号删除
  */
public  boolean deleteE(int emailId){
  try{
   /*
    * load方法加载类。 通过这个对象找到这个编号
    * 调用模版的delete方法 (删除的是个对象)
    */
   EmailInfo obj=(EmailInfo)this.getHibernateTemplate().load(EmailInfo.class, new Integer(emailId));
   this.getHibernateTemplate().delete(obj);
   return true;
  }catch(Exception ex){
   System.out.println(ex.getMessage());
   return false;
  }
}
/*
  * (non-Javadoc)
  * @see com.wu.dao.IEmailDAO#readAllEmail()
  * 读取方法 用模版的find方法
  */
public  List readAllEmail(){
  try{
   String  strSql="from hib.EmailInfo";
   return this.getHibernateTemplate().find(strSql);
  }catch(Exception ex){
   System.out.println(ex.getMessage());
   return null;
  }
}
/*
  * (non-Javadoc)
  * @see com.wu.dao.IEmailDAO#addEmail(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
  *  添加方法  调用用对象来添加
  *  添加的模版用Save方法来保存
  */
public boolean addEmail(String emailfrom, String emailto,
   String emailtitle, String emailcontent) {
  try{
   EmailInfo  email = new EmailInfo();
   email.setEmailfrom(emailfrom);
   email.setEmailto(emailto);
   email.setEmailtitle(emailtitle);
   email.setEmailcontent(emailcontent);
  
   FJInfo  fj = new FJInfo();
   fj.setFjfile("one");
   fj.setFjurl("one");
   FJInfo  fj1 = new FJInfo();
   fj1.setFjfile("two");
   fj1.setFjurl("two");
   email.getFjSet().add(fj);
   email.getFjSet().add(fj1);
   this.getHibernateTemplate().save(email);
   return true;
  }catch(Exception ex){
   System.out.println(ex.getMessage());
  }
  return false;
}

}
------------------------------------
Action类

public ActionForward insertEmail(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  EmaiForm emaiForm = (EmaiForm) form;// TODO Auto-generated method stub
  String emailfrom  = emaiForm.getEmailfrom();
  String emailto    = emaiForm.getEmailto();
  String emailtitle = emaiForm.getEmailtitle();
  String emailcontent = emaiForm.getEmailcontent();
  /*
   * addEmail 添加的方法
   * List   添加后要返回一个集合
   */
  if(emailDAO.addEmail(emailfrom, emailto, emailtitle, emailcontent)){
   List  email = emailDAO.readAllEmail();//把添加后的结果显示出来调用这个方法
    emaiForm.setList(email);
   return mapping.findForward("emailpage");
  }else{
   return mapping.findForward("errorpage");
  }
}
public ActionForward deleteEmail(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  EmaiForm emaiForm = (EmaiForm) form;// TODO Auto-generated method stub
  int emailId  =Integer.parseInt(request.getParameter("emailId"));
  /*
   * deleteE 删除的方法
   * List 删除后要返回一个集合
   */
  if(emailDAO.deleteE(emailId)){
   List  email = emailDAO.readAllEmail();//删除后要把删除后的结果显示出来
    emaiForm.setList(email);
   return mapping.findForward("emailpage");
  }else{
   return mapping.findForward("errorpage");
  }
 
}
--------------------------------------
配置文件
<beans>
<bean id="dataSource" border="1" bgcolor="#ffcc88">
     <tr>
      <td>emailId</td>
      <td>emailfrom</td>
      <td>emailto</td>
      <td>emailtitle</td>
      <td>emailcontent</td>
      <td>delete</td>
     </tr>
        <logic:present name="emaiForm">
         <logic:iterate id="emai" name="emaiForm" property="list" type="hib.EmailInfo">
          <tr>
        <td><bean:write name="emai" property="emailId"/></td>
        <td><bean:write name="emai" property="emailfrom"/></td>
        <td><bean:write name="emai" property="emailto"/></td>
        <td><bean:write name="emai" property="emailtitle"/></td>
        <td><bean:write name="emai" property="emailcontent"/></td>
        <td><a href="/TestEmail/emai.do?method=deleteEmail&emailId=<%=emai.getEmailId()%>" onclick="return confirm('Y/N');">Delete</a></td>
       </tr>
         </logic:iterate>
        </logic:present>
</table>
1 楼 zhkchi 2008-02-02   这个。。。你没发现少很多重要的配置说明么? 2 楼 yojiwei 2008-02-03   没有层次感,写的太乱!
注释的不专业!有待提高!

热点排行