package com.post.dao; import java.io.Serializable; import java.util.List; import java.util.Map; public interface BaseDaoI { public Serializable save(T o); /** * 删除一个对象 * * @param o */ public void delete(T o); /** * 更新一个对象 * * @param o */ public void update(T o); /** * 保存或更新对象 * * @param o */ public void saveOrUpdate(T o); /** * 查询 * * @param hql * @return */ public List find(String hql); /** * 查询集合 * * @param hql * @param param * @return */ public List find(String hql, Map params); /** * 查询集合 * * @param hql * @param param * @return */ public List find(String hql, List param); /** * 查询集合(带分页) * * @param hql * @param param * @param page * 查询第几页 * @param rows * 每页显示几条记录 * @return */ public List find(String hql, Map params, Integer page, Integer rows); /** * 查询集合(带分页) * * @param hql * @param param * @param page * @param rows * @return */ public List find(String hql, List param, Integer page, Integer rows); public List find(String hql, Integer page, Integer rows); /** * 获得一个对象 * * @param c * 对象类型 * @param id * @return Object */ public T get(Class c, Serializable id); /** * 获得一个对象 * * @param hql * @param param * @return Object */ public T get(String hql, List param); /** * select count(*) from 类 * * @param hql * @return */ public T get(String hql, Map params); public Long count(String hql); /** * select count(*) from 类 * * @param hql * @param param * @return */ public Long count(String hql, Map params); /** * select count(*) from 类 * * @param hql * @param param * @return */ public Long count(String hql, List param); /** * 执行HQL语句 * * @param hql * @return 响应数目 */ public Integer executeHql(String hql); /** * 执行HQL语句 * * @param hql * @param param * @return 响应数目 */ public Integer executeHql(String hql, Map params); /** * 执行HQL语句 * * @param hql * @param param * @return */ public Integer executeHql(String hql, List param); public Double sum(String hql); public Double sum(String hql, Map params); public Object[] summ(String hql, Map params); }