Spring3.0+Struts2.2+Hibernate3.6+ExtJS3.2.0+DWR框架 整合二
一、采用Spring的IOC和DI实现持久
1、定义BaseDao接口基本服务类
package com.hanz.dao.base;
import java.io.Serializable;
import java.util.List;
/**
* <p>
* Title: 基础DAO接口
* </p>
* <p>
* Description:
* </p>
*
* @author 曹彦彬
* @version 1.0.0.20080703
*/
public interface BaseDao {
/**
* 根据类和id找到pojo对象
*
* @param pojoClass
* Class pojo的类
* @param id
* String 唯一标识
* @return Object pojo对象
* @throws RuntimeException
*/
public Object loadById(Class pojoClass, Serializable id)
throws RuntimeException;
/**
* 从数据库查询相应列表
*
* @param ql
* 查询语言
* @return Object pojo对象
* @throws RuntimeException
*/
public List<Object> find(String hql) throws RuntimeException;
/**
* 创建新对象
*
* @param pojo
* Object 新对象
* @throws RuntimeException
*/
public void save(Object pojo) throws RuntimeException;
/**
* 更新已有对象
*
* @param pojo
* Object 需要更新的对象
* @throws RuntimeException
*/
public void update(Object pojo) throws RuntimeException;
/**
* 插入或更新已有对象
*
* @param pojo
* Object 需要插入或更新的对象
* @throws RuntimeException
*/
public void insertOrUpdate(Object pojo) throws RuntimeException;
/**
* 删除对象
*
* @param pojo
* Object 需要删除的对象
* @throws RuntimeException
*/
public void delete(Object pojo) throws RuntimeException;
/**
* 删除对象,根据id
*
* @param pojoClass
* Class 需要删除的对象类
* @param id
* String 唯一标识
* @throws RuntimeException
*/
public void delete(Class pojoClass, Serializable id)
throws RuntimeException;
/**
* 删除集合中的全部对象
*
* @param pojoName
* pojo映射名
* @param ids
* 要删除的ID集合
* @throws RuntimeException
*/
public void deleteAll(Class pojoName, Integer[] ids) throws RuntimeException;
/** */
/**
* 分页查询
*
* @param hql
* 查询的条件
* @param offset
* 开始记录
* @param length
* 一次查询几条记录
* @return
*/
public List queryForPage(final String hql, final int offset,
final int length) throws RuntimeException;
/**
* 分页查询
*
* @param hql
* 查询的条件
* @return
*/
public List queryForPage(final String hql) throws RuntimeException;
/** */
/**
* 查询所有记录数
*
* @param hql
* 查询的条件
* @return 总记录数
*/
public int getAllRowCount(String hql) t