package com.cloudcross.ssp.base.service;

import java.util.List;
import java.util.Map;

import com.cloudcross.ssp.common.utils.Pager;
import com.cloudcross.ssp.pulgin.mybatis.plugin.PageView;



/**
 * 所有服务接口都要继承这个
 * @author lanyuan
 * @date 2014-2-11
 * @Email: mmm333zzz520@163.com
 * @version 1.0v
 * @param <T>
 */
public interface BaseService<T> extends Base<T> {
	/**
	 * 返回分页后的数据
	 * @param pageView
	 * @param t
	 * @return
	 */
	public PageView query(PageView pageView,T t);
	int countByParams(Map<String, Object> paramMap);

	/**
	 * 根据查询条件按页统计数据库中该实体<code>T</code>对应记录并以列表返回。
	 * 
	 * @param paramMap
	 *            查询条件
	 * @param pager
	 *            {@link Pager}
	 * @return 返回查询到记录列表
	 * @see Pager
	 */
	List<T> findByParams(Map<String, Object> paramMap, Pager pager);
}
