package jj.tech.paolu.biz.webadmin.dao;

import java.util.List;

import org.apache.commons.collections4.map.CaseInsensitiveMap;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.SelectProvider;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper;
import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper;

import jj.tech.paolu.biz.webadmin.vo.Id;

@Mapper
public interface SelectMapper extends CommonDeleteMapper, CommonUpdateMapper {
	
	/**
	 * 没有映射，直接返回表字段
	 * @param selectStatement
	 * @return
	 */
	@SelectProvider(type=SqlProviderAdapter.class, method="select")
	List<CaseInsensitiveMap<Object,Object>> selectMany (SelectStatementProvider selectStatement);
	
	@SelectProvider(type = SqlProviderAdapter.class, method = "select")
	Long count(SelectStatementProvider selectStatement);
	
	
	@SelectProvider(type=SqlProviderAdapter.class, method="select")
	List<String> selectList (SelectStatementProvider selectStatement);


}