package com.accp.crm.dao;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
*
* @author cliu
* @version 1.0
* @copyright (C) ACCP 2008
* @date 2008-12-15
* @desc 通用DAO类
*/
public interface IGenericDao<T, PK extends Serializable> {
// 保存并返回主键
public PK save(T instance);
// 保存或更新
public void saveOrUpdate(T instance);
// 删除
public void delete(T instance);
// 删除所有
public void deleteAll(Collection<T> instances);
// 根据ID查询
public T get(PK id);
// 查询所有
public List<T> findAll();
// 根据参数进行查询
public List<T> findByNamedParam(String queryString, String paramName,
Object value);
// 根据参数进行查询
public List<T> findByNamedParam(String queryString, String[] paramNames,
Object[] values);
// 根据样例查询
public List<T> findByExample(T instance);
// 根据HQL语句进行查询
public List<T> find(String queryString);
// 根据HQL语句进行查询
public List<T> find(String queryString, Object value);
// 根据HQL语句进行查询
public List<T> find(String queryString, Object[] values);
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql);
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql, Object value);
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql, Object[] values);
// 判断是否包含
public boolean contains(T instance);
// 按样例进行总记录数统计
public int countByPagination(final T instance);
// 按样例进行分页查询
public List<T> findByPagination(final T instance, final int firstResult,
final int maxResult);
}
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
*
* @author cliu
* @version 1.0
* @copyright (C) ACCP 2008
* @date 2008-12-15
* @desc 通用DAO类
*/
public interface IGenericDao<T, PK extends Serializable> {
// 保存并返回主键
public PK save(T instance);
// 保存或更新
public void saveOrUpdate(T instance);
// 删除
public void delete(T instance);
// 删除所有
public void deleteAll(Collection<T> instances);
// 根据ID查询
public T get(PK id);
// 查询所有
public List<T> findAll();
// 根据参数进行查询
public List<T> findByNamedParam(String queryString, String paramName,
Object value);
// 根据参数进行查询
public List<T> findByNamedParam(String queryString, String[] paramNames,
Object[] values);
// 根据样例查询
public List<T> findByExample(T instance);
// 根据HQL语句进行查询
public List<T> find(String queryString);
// 根据HQL语句进行查询
public List<T> find(String queryString, Object value);
// 根据HQL语句进行查询
public List<T> find(String queryString, Object[] values);
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql);
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql, Object value);
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql, Object[] values);
// 判断是否包含
public boolean contains(T instance);
// 按样例进行总记录数统计
public int countByPagination(final T instance);
// 按样例进行分页查询
public List<T> findByPagination(final T instance, final int firstResult,
final int maxResult);
}