打印本文 打印本文 关闭窗口 关闭窗口
利用开源项目Hibernate开发Blog系统
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2418  更新时间:2009/4/22 23:29:43  文章录入:mintao  责任编辑:mintao
nbsp; ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();

        Item item=new Item(blogForm.getTopic(),blogForm.getContent(),
                FileUpload.upload(blogForm.getFile(),path),new Date());
        itemDAO.addItem(item);
         return true;
    }
    public boolean removeBlog(Long id) {
        ReviewDAO reviewDAO=DAOFactory.getInstance().getReviewDAO();
        ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();
         itemDAO.removeItem(id);
         return  reviewDAO.removeReviews(id);
    }

    public boolean addReview(Long topicId,ReviewForm reviewForm){
        ReviewDAO reviewDAO=DAOFactory.getInstance().getReviewDAO();
        Review review=new Review(reviewForm.getName(),reviewForm.getContent(),
                                topicId,new Date());

        return reviewDAO.addReview(review);
    }
    public boolean updateBlog(Long id,String content,String topic){
        ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();
        Item item=new Item();
        item.setId(id);
        item.setContent(content);
        item.setTopic(topic);
        return itemDAO.updatItem(item);
    }
    public boolean addUser(UserForm userForm){
        UserDAO userDAO=(UserDAO) DAOFactory.getInstance().getUserDAO();
        User user=new User(userForm.getName(),userForm.getPassword());

        return userDAO.addUser(user);
    }
    public boolean removeReview(Long id){
        ReviewDAO reviewDAO=DAOFactory.getInstance().getReviewDAO();
        return reviewDAO.removeReview(id);
    }

    public List getItems(){
        ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();
        List items=itemDAO.loadItems();
        List itemViews=new ArrayList();
        for(Iterator it=items.iterator();it.hasNext();){
            Item item=(Item)it.next();
            ItemView itemView=new ItemView();
            itemView.setContent(item.getContent());
            itemView.setDate(item.getDate());
            itemView.setFile(item.getFile());
            itemView.setId(item.getId());
            itemView.setTopic(item.getTopic());
            itemViews.add(itemView);
        }
        return itemViews;
    }

    public ItemView getEditItem(Long id){
        ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();
        Item item=itemDAO.loadItem(id);
        ItemView itemView=new ItemView();
        itemView.setContent(item.getContent());
        itemView.setDate(item.getDate());
        itemView.setFile(item.getFile());
        itemView.setId(item.getId());
        itemView.setTopic(item.getTopic());
        return  itemView;
    }
    public List search(SearchForm searchForm) {
        ItemDAO itemDAO=DAOFactory.getInstance().getItemDAO();
        List items=itemDAO.loadItems(searchForm.getKeyword());
        List itemViews=new ArrayList();
        for(Iterator it=items.iterator();it.hasNext();){
            Item item=(Item)it.next();
            ItemView itemView=new ItemView();
            itemView.setContent(item.getContent());
            itemView.setDate(item.getDate());
            itemView.setFile(item.getFile());
            itemView.setId(item.getId());
            itemView.setTopic(item.getTopic());
            itemViews.add(itemView);
        }
        return itemViews;
    }

}  下面是ACTION如何调用以上个服务:

import java.io.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;

import com.tonny.blog.struts.form.*;

public class AddBlog extends BlogBaseAction{


  //------------------------------------------------------------ Local Forwards
  static final private String FORWARD_success = "success";
  static final private String FORWARD_failure = "failure";

  //------------------------------------------------------------ Action Methods

  public ActionForward execute(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response)
      throws Exception {
     
      if(!isLogin(request))return mapping.findForward(FORWARD_failure);
      service.addBlog((BlogForm)form,((BlogForm)form).getFile().getFileName());
      return mapping.findForward(FORWARD_success);
  }

}
  下一步为DAO层来操作数据库:

import com.tonny.blog.bean.*;

import java.util.List;


public interface ItemDAO {

public boolean addItem(Item item);

public boolean removeItem(Long id);

public List loadItems();

public List loadItems(String topic);

public Item loadItem(Long id);

public boolean updatItem(Item item);


}
  DAOFACTORY调用实力化方法:

import com.tonny.blog.dao.*;

import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.*;
import java.util.*;
import com.tonny.blog.bean.*;


public class ItemDAOHibernate extends DAOHibernate implements ItemDAO {
public ItemDAOHibernate(){
    }

    public boolean addItem(Item item){
        try{
         beginTransaction();
      session.save(item);
      commit();
            return true;
       }
      catch(HibernateException e){
            rollback();
            return false;
        }


    }
    public boolean updatItem(Item item){
        try{
         beginTransaction();
         Item it=item;
         it=(Item)session.load(Item.class,(item.getId()));
         
         it.setTopic(item.getTopic());
         System.out.println("item.getTopic()"+item.getTopic());
         it.setContent(item.getContent());
         System.out.println("item.getContent()"+item.getContent());
          session.flush();
      commit();
            return true;
       }
      catch(HibernateException e){
          System.err.println("========>hibernate exception"+e);
            rollback();
            return false;
        }


    }
     public boolean removeItem(Long id){
        try{
      beginTransaction();
       session.delete("from com.tonny.blog.bean.Item as item where item.id="+id);
      commit();
            return true;

         }
        catch(HibernateException e){
            rollback();
            return false;
        }

     }

    public List loadItems(){

     List list=null;
  &nb

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口