0
点赞
收藏
分享

微信扫一扫

BaseDao类

书坊尚 2022-07-27 阅读 45

import java.io.Serializable;
import java.util.List; import org.hibernate.criterion.DetachedCriteria;
import com.lenovo.lps.psb.pushmarketing.bean.Pager;
/**
* Dao接口 - Dao基接口
* ============================================================================
*
* ----------------------------------------------------------------------------
*
* ----------------------------------------------------------------------------
*
* ----------------------------------------------------------------------------
*
* ============================================================================
*/public interface BaseDao<T, PK extends Serializable> {
/**
* 根据ID获取实体对象.
*
* @param id
* 记录ID
* @return 实体对象
*/
public T get(PK id); /**
* 根据ID获取实体对象.
*
* @param id
* 记录ID
* @return 实体对象
*/
public T load(PK id);

/**
* 根据ID数组获取实体对象集合.
*
* @param ids
* ID对象数组
*
* @return 实体对象集合
*/
public List<T> get(PK[] ids);

/**
* 根据属性名和属性值获取实体对象.
*
* @param propertyName
* 属性名称
* @param value
* 属性值
* @return 实体对象
*/
public T get(String propertyName, Object value);

/**
* 根据属性名和属性值获取实体对象集合.
*
* @param propertyName
* 属性名称
* @param value
* 属性值
* @return 实体对象集合
*/
public List<T> getList(String propertyName, Object value); /**
* 获取所有实体对象集合.
*
* @return 实体对象集合
*/
public List<T> getAll();

/**
* 获取所有实体对象总数.
*
* @return 实体对象总数
*/
public Long getTotalCount(); /**
* 根据属性名、修改前后属性值判断在数据库中是否唯一(若新修改的值与原来值相等则直接返回true).
*
* @param propertyName
* 属性名称
* @param oldValue
* 修改前的属性值
* @param oldValue
* 修改后的属性值
* @return boolean
*/
public boolean isUnique(String propertyName, Object oldValue, Object newValue);

/**
* 根据属性名判断数据是否已存在.
*
* @param propertyName
* 属性名称
* @param value
* 值
* @return boolean
*/
public boolean isExist(String propertyName, Object value); /**
* 保存实体对象.
*
* @param entity
* 对象
* @return ID
*/
public PK save(T entity); /**
* 更新实体对象.
*
* @param entity
* 对象
*/
public void update(T entity);

/**
* 删除实体对象.
*
* @param entity
* 对象
* @return
*/
public void delete(T entity); /**
* 根据ID删除实体对象.
*
* @param id
* 记录ID
*/
public void delete(PK id); /**
* 根据ID数组删除实体对象.
*
* @param ids
* ID数组
*/
public void delete(PK[] ids); /**
* 刷新session.
*
*/
public void flush(); /**
* 清除Session.
*
*/
public void clear();

/**
* 清除某一对象.
*
* @param object
* 需要清除的对象
*/
public void evict(Object object); /**
* 根据Pager对象进行查询(提供分页、查找、排序功能).
*
* @param pager
* Pager对象
* @return Pager对象
*/
public Pager findByPager(Pager pager);

/**
* 根据Pager和DetachedCriteria对象进行查询(提供分页、查找、排序功能).
*
* @param pager
* Pager对象
* @return Pager对象
*/
public Pager findByPager(Pager pager, DetachedCriteria detachedCriteria);}

举报

相关推荐

执行数据库SQL,非BaseDAO

0 条评论