`
history1918
  • 浏览: 10181 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring3.0+Struts2.2+Hibernate3.6+ExtJS3.2.0+DWR框架 整合三

阅读更多
一、实现业务层基础
1、业务层基础类接口
package com.hanz.service.base;


public interface BaseServcie {

/**
* 以对象类型和对象编号为标示,获取相对应的对象
*
* @param pojoClass
*            对象类型
* @param id
*            对象编号
* @return 获取的简单对象
* @exception RuntimeException
*/
public Object get(Class pojoClass, int id) throws RuntimeException;

/**
* 创建新对象
*
* @param pojo
*            Object 新对象
* @throws RuntimeException
*/
public boolean save(Object pojo) throws RuntimeException;

/**
* 更新已有对象
*
* @param pojo
*            Object 需要更新的对象
* @throws RuntimeException
*/
public boolean update(Object pojo) throws RuntimeException;

/**
* 以对象类型和对象编号为标示,删除相对应的对象
*
* @param pojoClass
*            对象类型
* @param id
*            对象编号
* @exception RuntimeException
*/
public boolean delete(Class pojo, Integer id) throws RuntimeException;

/**
* 删除集合中的全部对象
*
* @param pojo
*            pojo
* @param ids
*            要删除的ID集合
* @throws RuntimeException
*/
public boolean deleteAll(Class pojo, String[] ids) throws RuntimeException;

/**
* 插入或者更新对象
*
* @param pojo
*            Object 目标pojo对象
* @throws RuntimeException
*/
public boolean insertOrUpdate(Object pojo) throws RuntimeException;



}
2、业务层基础接口实现类
package com.hanz.service.base.imp;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;

import com.hanz.dao.base.BaseDao;
import com.hanz.service.base.BaseServcie;

@Component("baseService")
public class BaseServiceImp implements BaseServcie {

private BaseDao baseDao;

@Resource(name = "baseDao")
public void setBaseDao(BaseDao baseDao) {
this.baseDao = baseDao;
}

/*
* (non-Javadoc)
*
* @see com.hanz.service.BaseService.IBaseService#delete(java.lang.Class,
* long)
*/
public boolean delete(Class pojo, Integer id) throws RuntimeException {
try {
baseDao.delete(baseDao.loadById(pojo, id));
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

/*
* (non-Javadoc)
*
* @see com.hanz.service.BaseService.IBaseService#get(java.lang.Class, long)
*/
public Object get(Class pojoClass, int id) throws RuntimeException {
return baseDao.loadById(pojoClass, id);
}

/*
* (non-Javadoc)
*
* @see
* com.hanz.service.BaseService.IBaseService#insertOrUpdate(java.lang.Object
* )
*/
public boolean insertOrUpdate(Object pojo) throws RuntimeException {
try {
baseDao.insertOrUpdate(pojo);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

/*
* (non-Javadoc)
*
* @see com.hanz.service.BaseService.IBaseService#save(java.lang.Object)
*/
public boolean save(Object pojo) throws RuntimeException {
try {
baseDao.save(pojo);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

/*
* (non-Javadoc)
*
* @see com.hanz.service.BaseService.IBaseService#update(java.lang.Object)
*/
public boolean update(Object pojo) throws RuntimeException {
try {
baseDao.update(pojo);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

/*
* (non-Javadoc)
*
* @see com.hanz.service.BaseService.IBaseService#deleteAll(java.lang.Class,
* java.lang.String[])
*/
public boolean deleteAll(Class pojoName, String[] ids)
throws RuntimeException {
try {

Integer[] intIds = new Integer[ids.length];
for (int i = 0; i < ids.length; i++) {
intIds[i] = Integer.parseInt(ids[i]);
}
baseDao.deleteAll(pojoName, intIds);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}

}
3、自定义业务接口
package com.hanz.service;

import com.hanz.action.PageBean;
import com.hanz.domain.User;
import com.hanz.service.base.BaseServcie;


public interface  UserService extends BaseServcie {
public PageBean queryForPage(int start, int limit) throws RuntimeException;

public PageBean queryForPage() throws RuntimeException;

public PageBean queryForPage(final String hql,int start, int limit) throws RuntimeException;

public User login(User user) throws RuntimeException;
}
4、实现自定义业务接口类

package com.hanz.service.imp;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;

import com.hanz.action.PageBean;
import com.hanz.dao.UserDAO;
import com.hanz.domain.User;
import com.hanz.service.UserService;
import com.hanz.service.base.imp.BaseServiceImp;

@Component("userService")
public class UserServiceImp extends BaseServiceImp implements UserService {

private UserDAO userDAO;

public void init() {
System.out.println("init");
}


@Resource(name = "userDao")
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}

/**
* 分页查询
*
* @param currentPage
*            当前第几页
* @param pageSize
*            每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/
public PageBean queryForPage(int start, int limit) {

final String hql = "from User"; // 查询语句
int totalCount = userDAO.getAllRowCount(hql); // 总记录数
List<User> list = userDAO.queryForPage(hql, start, limit); // "一页"的记录

// 把分页信息保存到Bean中
PageBean pageBean = new PageBean();
pageBean.setTotalCount(totalCount);
pageBean.setList(list);
return pageBean;

}

public void destroy() {
System.out.println("destroy");
}

@Override
public PageBean queryForPage() throws RuntimeException {
final String hql = "from User"; // 查询语句
int totalCount = userDAO.getAllRowCount(hql); // 总记录数
List<User> list = userDAO.queryForPage(hql); // "一页"的记录

// 把分页信息保存到Bean中
PageBean pageBean = new PageBean();
pageBean.setTotalCount(totalCount);
pageBean.setList(list);
return pageBean;
}

/**
* 分页查询
*
* @param currentPage
*            当前第几页
* @param pageSize
*            每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/
public PageBean queryForPage(final String hql,int start, int limit) {

long totalCount = userDAO.getAllRowCount(hql); // 总记录数
List<User> list = userDAO.queryForPage(hql, start, limit); // "一页"的记录

// 把分页信息保存到Bean中
PageBean pageBean = new PageBean();
pageBean.setTotalCount(totalCount);
pageBean.setList(list);
return pageBean;

}
@Override
public User login(User user) throws RuntimeException {
// TODO Auto-generated method stub
try {
return userDAO.getUser(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}



}

分享到:
评论

相关推荐

    真实项目:Hibernate3.3.2+Spring3.0+Struts2.2.3+ext3.4.0

    项目配置:Hibernate3.3.2+Spring3.0+Struts2.2.3 + ext3.4.0,真实项目实现,项目中可参考经典权限设计,通用数据录入,批量数据处理(poi),统一的JSON格式封装,灵活的组合模式设计,EXTJS面向组件编程参考......

    Spring3.0+Hibernate4.0+SpringMVC整合ExtJS4

    在本项目中,我们探讨的是如何将三个主流的Java企业级框架——Spring 3.0、Hibernate 4.0和Spring MVC与JavaScript前端框架ExtJS 4进行深度整合,以构建一个高效、灵活且功能丰富的Web应用。这个整合旨在提供一个...

    ExtJSweb 开发指南中的 简单图书管理系统 ExtJS3.0+spring+hibernate+struts

    在本项目中,我们探讨的是一个基于Web的简单图书管理系统,该系统采用了经典的Java企业级开发框架:ExtJS 3.0、Spring、Hibernate以及Struts。这些技术的结合为开发高效、可维护的Web应用提供了强大的支持。下面将...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。这个是分卷,同时下载2.3.4部分

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第二部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第四部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    extjs3.0+struts2源码

    ExtJS 3.0 和 Struts2 是两个在Web开发领域广泛应用的开源框架。ExtJS 是一个用于构建富客户端(Rich Internet Applications,RIA)的JavaScript库,它提供了丰富的组件库和用户界面,使得开发者可以创建出具有桌面...

    extjs+spring+struts+hibernate

    在“extjs+spring+struts+hibernate”整合中,通常会利用Spring作为核心框架,管理整个应用的依赖和事务;Struts负责处理HTTP请求,并转发到相应的业务逻辑;Hibernate则负责对象与数据库之间的映射,实现数据的持久...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第三部分)

    综上所述,这个“DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi”综合管理系统结合了这些技术的优势,构建了一个分层清晰、业务复杂的系统。DWR2和EXTJS2.2负责前端交互和用户界面,提供流畅的用户体验;Hibernate3.3...

    DWR+extjs+spring+hibernate

    总结起来,"DWR+extjs+spring+hibernate"的组合是现代Web应用开发的一个强大工具集,它能够帮助开发者快速构建出交互性强、性能优异的企业级应用。通过深入理解和熟练掌握这四个技术,可以显著提升开发者的技能水平...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    在"Hibernate+Spring+Struts2+ExtJS整合开发实例"中,开发者通常会利用这些框架的协同工作来实现CRUD(Create, Read, Update, Delete)操作,这是数据库应用的基本功能: 1. **创建(Create)**: 用户通过ExtJS的...

    jbpm4.0+ext3.0+spring+hibernate整合实例

    将jbpm4.0、EXT3.0、Spring和Hibernate整合在一起,可以构建出一个功能强大的业务流程管理系统。Spring作为整体架构的胶水,管理各组件的生命周期;Hibernate负责数据持久化,处理与数据库的交互;jbpm4.0则处理业务...

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类

    Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统

    【标题】"Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统"是一个基于Java技术栈的开源项目,它利用了Struts2框架的json-plugin插件,Spring2作为服务层管理和依赖注入框架,以及ExtJS2.2作为前端展示...

    struts2.0+spring2.2+ibatis+quartz+extjs3.0 短信调度平台

    采用了struts2.0,spring2.2,ibatis,quartz,extjs3.0 实现了关于短信的调度框架,对接收人维护,动态添加每日短信数据,编写短信模版,最后通过quartz定时发送,因为短信接口收费所以不提供,需要jar包自己下载,...

    ssh框架(spring+struts2+hibernate)

    SSH框架,全称为Spring、Struts2和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,数据库持久化,以及强大的前端展示能力,使得开发者能高效地构建...

    EXTJS3.0+Struts2的学习案例

    该项目是用EXTJS+Struts2,是实现EXTJS与后台数据交互的例子; 我从网上找的EXTJS的相关例子程序,自己在本地eclipse中创建成了完整项目,修改了代码BUG和浏览器兼容问题; 现在将完整的项目代码打包分享,对于想...

Global site tag (gtag.js) - Google Analytics