Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.penglecode.common.mybatis;
  
  import java.util.List;
  import java.util.Map;
  
 
该类是SqlSessionTemplate的代理类,增加了几个便于开发的方法,如分页查询方法等

Author(s):
pengpeng
Version:
1.0
Date:
2014年6月18日 下午6:26:20
 
 public class EnhancedSqlSessionTemplate implements EnhancedSqlSession {
 
     private final SqlSession delegate;
 
     public EnhancedSqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
     	 = new SqlSessionTemplate(sqlSessionFactory);
     }
     
     public EnhancedSqlSessionTemplate(SqlSessionFactory sqlSessionFactoryExecutorType executorType) {
     	 = new SqlSessionTemplate(sqlSessionFactoryexecutorType);
     }
 	
 	public void clearCache() {
 	}
 
 	public void close() {
 	}
 
 	public void commit() {
 	}
 
 	public void commit(boolean force) {
 		.commit(force);
 	}
 
 	public int delete(String statement) {
 		return .delete(statement);
 	}
 
 	public int delete(String statementObject parameter) {
 		return .delete(statementparameter);
 	}
 
 	}
 
 	}
 
 	public Connection getConnection() {
 	}
 
 	public <T> T getMapper(Class<T> type) {
 		return .getMapper(type);
 	}
 
 	public int insert(String statement) {
 		return .insert(statement);
 	}
 
 	public int insert(String statementObject parameter) {
 		return .insert(statementparameter);
 	}
 
 	public void rollback() {
 	}
 
 	public void rollback(boolean force) {
 		.rollback(force);
 	}
 
 	public void select(String statementResultHandler handler) {
 		.select(statementhandler);
 	}
 
	public void select(String statementObject parameterResultHandler handler) {
		.select(statementparameterhandler);
	}
	public void select(String statementObject parameterRowBounds rowBoundsResultHandler handler) {
		.select(statementparameterrowBoundshandler);
	}
	public <E> List<E> selectList(String statement) {
		return .selectList(statement);
	}
	public <E> List<E> selectList(String statementObject parameter) {
		return .selectList(statementparameter);
	}
	public <E> List<E> selectList(String statementObject parameterRowBounds rowBounds) {
		return .selectList(statementparameterrowBounds);
	}
	public <K, V> Map<K, V> selectMap(String statementString parameter) {
		return .selectMap(statementparameter);
	}
	public <K, V> Map<K, V> selectMap(String statementObject parameterString mapKey) {
		return .selectMap(statementparametermapKey);
	}
	public <K, V> Map<K, V> selectMap(String statementObject parameterString mapKeyRowBounds rowBounds) {
		return .selectMap(statementparametermapKeyrowBounds);
	}
	public <T> T selectOne(String statement) {
		return .selectOne(statement);
	}
	public <T> T selectOne(String statementObject parameter) {
		return .selectOne(statementparameter);
	}
	public int update(String statement) {
		return .update(statement);
	}
	public int update(String statementObject parameter) {
		return .update(statementparameter);
	}
    public <T> T selectOne(String statementKeyObject paramObjEscapeFilter<T> escapeFilter) {
        EscapeResultHandler<T> resultHandler = new EscapeResultHandler<T>(escapeFilter);
        .select(statementKeyparamObjresultHandler);
        List<T> list = resultHandler.getResultList();
        if (list == null || list.isEmpty()) {
            return null;
        } else if (list.size() == 1) {
            return list.get(0);
        }
        throw new TooManyResultsException("Expected one result (or null) to be returned by selectOne(), but found: " + list.size());
    }
    
    public <T> List<T> selectList(String statementKeyObject paramObjEscapeFilter<T> escapeFilter) {
        EscapeResultHandler<T> resultHandler = new EscapeResultHandler<T>(escapeFilter);
        .select(statementKeyparamObjresultHandler);
        return resultHandler.getResultList();
    }
    public <T> List<T> selectList(String statementKeyObject paramObjPager pager) {
    	Number totalNum = .selectOne(statementKey + paramObj);
    	Integer totalRowCount = totalNum.intValue();
    	List<T> resultList = null;
    	if(totalRowCount > 0){
    		int offset = (pager.getCurrentPage() - 1) * pager.getPageSize();
    		resultList = .selectList(statementKeyparamObjnew RowBounds(offsetpager.getPageSize()));
            if(CollectionUtils.isEmpty(resultList)){
            	totalRowCount = 0;
            }else if(resultList.size() > totalRowCount){
            	totalRowCount = resultList.size();
            }
    	}
    	pager.setTotalRowCount(totalRowCount);
    	PaginationUtils.setPageItems(pager);
        return resultList;
    }
    
    public <T> List<T> selectList(String statementKeyObject paramObjEscapeFilter<T> escapeFilterPager pager) {
    	Number totalNum = .selectOne(statementKey + paramObj);
        Integer totalRowCount = totalNum.intValue();
        List<T> resultList = null;
        if(totalRowCount > 0){
        	int offset = (pager.getCurrentPage() - 1) * pager.getPageSize();
            EscapeResultHandler<T> resultHandler = new EscapeResultHandler<T>(escapeFilter);
            .select(statementKeyparamObjnew RowBounds(offsetpager.getPageSize()), resultHandler);
            resultList = resultHandler.getResultList();
            if(CollectionUtils.isEmpty(resultList)){
            	totalRowCount = 0;
            }else if(resultList.size() > totalRowCount){
            	totalRowCount = resultList.size();
            }
        }
        pager.setTotalRowCount(totalRowCount);
		PaginationUtils.setPageItems(pager);
		return resultList;
    }
    
	public <T> int[] batchInsert(String statementKeyList<T> paramObjList) {
		checkBatchArgs(statementKeyparamObjList);
		int len = paramObjList.size();
		int[] results = new int[len];
		for(int i = 0; i < leni++){
			results[i] = .insert(statementKeyparamObjList.get(i));
		}
		return results;
	}
	public <T> int[] batchInsert(String statementKeyList<T> paramObjListint flushBatchSize) {
		checkBatchArgs(statementKeyparamObjList);
		int len = paramObjList.size();
		int[] results = new int[len];
		for(int i = 0; i < leni++){
			results[i] = .insert(statementKeyparamObjList.get(i));
		}
		return results;
	}
	public <T> int[] batchUpdate(String statementKeyList<T> paramObjList) {
		int len = paramObjList.size();
		int[] results = new int[len];
		for(int i = 0; i < leni++){
			results[i] = .update(statementKeyparamObjList.get(i));
		}
		return results;
	}
	public <T> int[] batchUpdate(String statementKeyList<T> paramObjListint flushBatchSize) {
		int len = paramObjList.size();
		int[] results = new int[len];
		for(int i = 0; i < leni++){
			results[i] = .update(statementKeyparamObjList.get(i));
		}
		return results;
	}
	public <T> int[] batchDelete(String statementKeyList<T> paramObjList) {
		int len = paramObjList.size();
		int[] results = new int[len];
		for(int i = 0; i < leni++){
			results[i] = .delete(statementKeyparamObjList.get(i));
		}
		return results;
	}
	public <T> int[] batchDelete(String statementKeyList<T> paramObjListint flushBatchSize) {
		int len = paramObjList.size();
		int[] results = new int[len];
		for(int i = 0; i < leni++){
			results[i] = .delete(statementKeyparamObjList.get(i));
		}
		return results;
	}
	protected <T> void checkBatchArgs(String statementKeyList<T> paramObjList){
		if(statementKey == null || statementKey.trim().equals("")){
			throw new IllegalArgumentException("parameter 'statementKey' can't be null or empty!");
		}
		if(paramObjList == null || paramObjList.isEmpty()){
			throw new IllegalArgumentException("parameter 'paramObjList' can't be null or empty!");
		}
	}
New to GrepCode? Check out our FAQ X