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>