abstractbasedao.java

来自「提供hibernate,spring」· Java 代码 · 共 183 行

JAVA
183
字号
/**
 * 
 */
package phz.util.dao;

import java.util.List;

/**
 * @author PanHuizhi [phz50@163.com]
 * 
 */
public abstract interface AbstractBaseDao<Entity> {

	/** 添加数据,添加前的先设置数据 */
	public void add(Entity entity);

	/** 删除数据,删除前得先加载要删除的数据 */
	public void delete(Entity entity);

	/** 删除数据,删除前得先加载要删除的数据 */
	public void delete(List<Entity> entities);

	/**
	 * 更新数据,更新前得先加载要更新的数据
	 * 
	 * @param entity
	 *            要更新的数据
	 * @param name
	 *            要更新的属性
	 * @param value
	 *            更新后的值
	 */
	public void update(Entity entity, String name, Object value);

	/**
	 * 更新数据,更新前得先加载要更新的数据
	 * 
	 * @param entity
	 *            要更新的数据
	 * @param names
	 *            要更新的属性
	 * @param values
	 *            更新后的值
	 */
	public void update(Entity entity, String[] names, Object[] values);

	/**
	 * 更新数据,更新前得先加载要更新的数据
	 * 
	 * @param entities
	 *            要更新的数据
	 * @param name
	 *            要更新的属性
	 * @param value
	 *            更新后的值
	 */
	public void update(List<Entity> entities, String name, Object value);

	/**
	 * 更新数据,更新前得先加载要更新的数据
	 * 
	 * @param entities
	 *            要更新的数据
	 * @param names
	 *            要更新的属性
	 * @param values
	 *            更新后的值
	 */
	public void update(List<Entity> entities, String[] names, Object[] values);

	/**
	 * 根据属性值获取实体总数
	 * 
	 * @param name
	 *            属性
	 * @param value
	 *            属性值
	 * @return 实体总数
	 */
	public Integer getCountByProperty(String name, Object value);

	/**
	 * 根据属性值获取实体总数
	 * 
	 * @param names
	 *            属性
	 * @param values
	 *            属性值
	 * @return 实体总数
	 */
	public Integer getCountByProperty(String[] names, Object[] values);

	/** 查找数据 */
	public Entity findById(Integer id);

	/**
	 * 查找数据
	 * 
	 * @param name
	 *            属性
	 * @param value
	 *            属性值
	 * @return 数据
	 */
	public List<Entity> findByProperty(String name, Object value);

	/**
	 * 查找数据
	 * 
	 * @param name
	 *            属性
	 * @param value
	 *            属性值
	 * @param start
	 *            起始结果
	 * @param size
	 *            结果集长度
	 * @return 数据
	 */
	public List<Entity> findByProperty(String name, Object value,
			Integer start, Integer size);

	/**
	 * 查找数据
	 * 
	 * @param names
	 *            属性
	 * @param values
	 *            属性值
	 * @return 数据
	 */
	public List<Entity> findByProperty(String[] names, Object[] values);

	/**
	 * 查找数据
	 * 
	 * @param names
	 *            属性
	 * @param values
	 *            属性值
	 * @param start
	 *            起始结果
	 * @param size
	 *            结果集长度
	 * @return 数据
	 */
	public List<Entity> findByProperty(String[] names, Object[] values,
			Integer start, Integer size);

	/**
	 * 查找数据
	 * 
	 * @return 数据
	 */
	public List<Entity> findAll();

	/**
	 * 查找数据
	 * 
	 * @param start
	 *            起始结果
	 * @param size
	 *            结果集长度
	 * @return 数据
	 */
	public List<Entity> findAll(Integer start, Integer size);

	/* 以下方法扩展自 org.springframework.orm.hibernate3.HibernateTemplate 中常用方法 */
	public List<Entity> find(String queryString);

	public List<Entity> find(String queryString, Object value);

	public List<Entity> find(String queryString, Object[] values);

	public List<Entity> find(String queryString, Integer start, Integer size);

	public List<Entity> find(String queryString, Object value, Integer start,
			Integer size);

	public List<Entity> find(String queryString, Object[] values,
			Integer start, Integer size);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?