Struts2 + Spring + Hibernate 通用 Service 和 DAO
我在 Struts2 + Spring + Hibernate 项目开发中总结出了一个Service 和 DAO ,可以用于处理任何的pojo(bean)。使用这两个Service 和 DAO 可以极大地提高开发的效率,不必再分别针对不同的pojo编写对应的Service 和 DAO。内容如下:
DAO:
接口:BaseDao.java
package action;import java.sql.Timestamp;import java.util.Date;import java.util.List;import java.util.Map;import service.BaseService;import bean.Admin;import bean.Blog;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** * @author 雷霄骅 * Action */public class BlogAct extends ActionSupport {private int blogid;private int num;private Blog blog;private List<Blog> resultblog;private BaseService baseService;public int getBlogid() {return blogid;}public void setBlogid(int blogid) {this.blogid = blogid;}public Blog getBlog() {return blog;}public void setBlog(Blog blog) {this.blog = blog;}public BaseService getBaseService() {return baseService;}public void setBaseService(BaseService baseService) {this.baseService = baseService;}public List<Blog> getResultblog() {return resultblog;}public void setResultblog(List<Blog> resultblog) {this.resultblog = resultblog;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String Add(){try{//--------------------------------ActionContext context = ActionContext.getContext();Map sessionMap = context.getSession();Admin admin=(Admin)sessionMap.get("admin");//--------------------------------blog.setModifytime( new Timestamp(new Date().getTime()));blog.setAdmin(admin);baseService.save(blog);return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}public String Delete(){try{blog=(Blog) baseService.ReadByID("Blog", blogid);baseService.delete(blog);return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}public String Read(){try{blog=(Blog) baseService.ReadByID("Blog", blogid);return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}public String Update(){try{//--------------------------------ActionContext context = ActionContext.getContext();Map sessionMap = context.getSession();Admin admin=(Admin)sessionMap.get("admin");//--------------------------------blog.setModifytime( new Timestamp(new Date().getTime()));blog.setAdmin(admin);baseService.update(blog);return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}public String ReadAll(){try{resultblog=baseService.ReadAllByOrder("Blog","modifytime","desc");return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}public String ReadLimitedByOrder(){try{resultblog=baseService.ReadLimitedByOrder("Blog","modifytime",num,"desc");return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}}