/**
 * Company Name : 中贸促信息技术有限责任公司
 * Project Name:memberManageSys
 * File Name:IJdbcDao.java
 * Package Name:ccpit.base.dao
 * Date:2016年2月26日下午4:33:51
 * Copyright (c) 2016, dingwei@ccpit.org All Rights Reserved.
 *
 */

package org.ccpit.base.dao;

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

import org.ccpit.base.controller.Page;
import org.ccpit.base.controller.PageRequest;

/**
 * ClassName:IJdbcDao <br/>
 * Function: TODO ADD FUNCTION. <br/>
 * Reason: TODO ADD REASON. <br/>
 * Date: 2016年2月26日 下午4:33:51 <br/>
 * 
 * @author dingwei
 * @version
 * @since JDK 1.6
 * @see
 */
public interface IJdbcDao<T> {

	public abstract Boolean hasExist(String paramString, Object[] paramArrayOfObject);

	public abstract int save(String paramString, Object[] paramArrayOfObject);

	public abstract int update(String paramString, Object[] paramArrayOfObject);

	public abstract int updateColumn(String paramString1, String paramString2, Object paramObject, String paramString3);

	public abstract int updateColumn(String paramString1, String[] paramArrayOfString, Object[] paramArrayOfObject,
                                     String paramString2);

	public abstract int delete(String paramString, Object[] paramArrayOfObject);

	public abstract int delete(String paramString1, String paramString2, String paramString3);

	public abstract int delete(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5);

	public abstract List queryForList(String paramString, Object[] paramArrayOfObject);

	public abstract List queryForList(String paramString, Object[] paramArrayOfObject, Class paramClass);

	public abstract int queryForInt(String paramString, Object[] paramArrayOfObject);

	public abstract long queryForLong(String paramString, Object[] paramArrayOfObject);

	public abstract Map queryForMap(String paramString, Object[] paramArrayOfObject);

	public abstract Object queryForObject(String paramString, Object[] paramArrayOfObject);

	public abstract Object queryForObject(String paramString, Object[] paramArrayOfObject, Class paramClass);

	public abstract List batchQuery(String[] paramArrayOfString, Class[] paramArrayOfClass);

	public abstract void batchExecute(String[] paramArrayOfString);

	public abstract int[] batchUpdate(String[] paramArrayOfString);

	public abstract void execute(String paramString);

	public abstract Page queryPage(PageRequest paramPageRequest, String paramString, Object[] paramArrayOfObject, Class paramClass);

	public abstract void clearCache(Class paramClass);
}
