package com.fxzutils.common.dao;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Set;
/**
* 公共DAO接口
* @author 方小洲
* 2009-9-11 下午01:33:59
*/
public interface ICommon {
/**
* 保存一个对象
* @author 方小洲
* 2009-9-11 下午01:38:57
* @param obj
* @return
*/
public boolean save(Object obj);
/**
* 批量保存或更新
* @author 方小洲
* 2009-9-12 下午05:15:46
* @param entities
*/
public boolean saveOrUpdateAll(Collection entities);
/**
* 删除一个对象
* @author 方小洲
* 2009-9-11 下午03:03:19
* @param obj
* @return
*/
public boolean dele(Object obj);
/**
* 更新一个用户
* @author 方小洲
* 2009-9-11 下午03:12:41
* @param obj
* @return
*/
public boolean update(Object obj);
/**
* 传入hql进行更新
* @author 方小洲
* 2009-9-12 下午05:25:56
* @param hql
*/
public void updateByHql(String hql);
/**
* 传入sql进行更新
* @author 方小洲
* 2009-9-12 下午05:25:56
* @param hql
*/
public void updateBySql(String sql);
/**
* 根据ID获取对象
* @author 方小洲
* 2009-9-11 下午03:17:50
* @param o
* @param id
* @return
*/
public Object searchById(Class o, Serializable id);
/**
* 根据hql及参数列表查询
* @author 方小洲
* 2009-9-12 下午05:33:38
* @param hql
* @param params
* @return
*/
public List searchByHQL(String hql, List params);
/**
* 根据原生sql及参数列表查询
* @author 方小洲
* 2009-9-12 下午07:58:31
* @param hql
* @param params
* @return
*/
public List searchBySQL(String hql, List params);
/**
* 查询原生sql
* @author 方小洲
* 2009-9-12 下午07:51:58
* @param sql
* @param entityName
* @param o
* @param params
* @return
*/
public List searchBySQL(String sql, String entityName, Class o, List params);
/**
* 根据查询语句和指定数组查询
* @param queryString
* @param values
* @return
*/
public Set searchByIdArray( String[] values ,Class o);
/**
* 根据hql及参数列表返回分页列表
* @author 方小洲
* 2009-9-12 下午08:15:55
* @param hql
* @param currentpage
* @param pagesize
* @param params
* @return
*/
public List searchForPageByHQL(final String hql, final int currentpage, final int pagesize, final List params) ;
/**
* 根据sql及参数列表返回分页列表
* @author 方小洲
* 2009-9-12 下午08:19:46
* @param sql
* @param currentpage
* @param pagesize
* @param params
* @return
*/
public List searchForPageBySQL(final String sql, final int currentpage, final int pagesize, final List params) ;
/**
* 根据hql及参数列表获取总记录数
* @author 方小洲
* 2009-9-12 下午08:00:47
* @param hql
* @param params
* @return
*/
public int getCountByCountHQL(String hql, List params);
/**
* 根据hql及参数列表获取总记录数
* @author 方小洲
* 2009-9-12 下午08:00:47
* @param hql
* @param params
* @return
*/
public int getCountByCountSQL(String hql, String countname , List params);
}
我已经把工具导成jar包,用的使用只要在applicationContext.xml中注入ICommon接口的实现类
<!-- 公共Dao -->
<bean id="commonDao" class="com.fxzutils.common.dao.CommonImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>