org.apache.ibatis.executor.Executor类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(8.9k)|赞(0)|评价(0)|浏览(355)

本文整理了Java中org.apache.ibatis.executor.Executor类的一些代码示例,展示了Executor类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Executor类的具体详情如下:
包路径:org.apache.ibatis.executor.Executor
类名称:Executor

Executor介绍

暂无

代码示例

代码示例来源:origin: pagehelper/Mybatis-PageHelper

/**
 * 执行手动设置的 count 查询,该查询支持的参数必须和被分页的方法相同
 *
 * @param executor
 * @param countMs
 * @param parameter
 * @param boundSql
 * @param resultHandler
 * @return
 * @throws SQLException
 */
public static Long executeManualCount(Executor executor, MappedStatement countMs,
                   Object parameter, BoundSql boundSql,
                   ResultHandler resultHandler) throws SQLException {
  CacheKey countKey = executor.createCacheKey(countMs, parameter, RowBounds.DEFAULT, boundSql);
  BoundSql countBoundSql = countMs.getBoundSql(parameter);
  Object countResultList = executor.query(countMs, parameter, RowBounds.DEFAULT, resultHandler, countKey, countBoundSql);
  Long count = ((Number) ((List) countResultList).get(0)).longValue();
  return count;
}

代码示例来源:origin: abel533/Mapper

Executor keyExecutor = configuration.newExecutor(executor.getTransaction(), ExecutorType.SIMPLE);
List<Object> values = keyExecutor.query(keyStatement, parameter, RowBounds.DEFAULT, Executor.NO_RESULT_HANDLER);
if (values.size() == 0) {
  throw new ExecutorException("SelectKey returned no data.");

代码示例来源:origin: org.mybatis/mybatis

@Override
public void clearCache() {
 executor.clearLocalCache();
}

代码示例来源:origin: camunda/camunda-bpm-platform

private <E> List<E> selectList() throws SQLException {
 Executor localExecutor = executor;
 if (Thread.currentThread().getId() != this.creatorThreadId || localExecutor.isClosed()) {
  localExecutor = newExecutor();
 }
 try {
  return localExecutor.<E> query(mappedStatement, parameterObject, RowBounds.DEFAULT, Executor.NO_RESULT_HANDLER, cacheKey, boundSql);
 } finally {
  if (localExecutor != executor) {
   localExecutor.close(false);
  }
 }
}

代码示例来源:origin: pagehelper/Mybatis-PageHelper

return executor.query(ms, parameter, RowBounds.DEFAULT, resultHandler, pageKey, pageBoundSql);
} else {
  return executor.query(ms, parameter, RowBounds.DEFAULT, resultHandler, cacheKey, boundSql);

代码示例来源:origin: camunda/camunda-bpm-platform

@Override
public CacheKey createCacheKey(MappedStatement ms, Object parameterObject, RowBounds rowBounds, BoundSql boundSql) {
 return delegate.createCacheKey(ms, parameterObject, rowBounds, boundSql);
}

代码示例来源:origin: camunda/camunda-bpm-platform

private Object getNestedQueryMappingValue(ResultSet rs, MetaObject metaResultObject, ResultMapping propertyMapping, ResultLoaderMap lazyLoader, String columnPrefix)
  throws SQLException {
 final String nestedQueryId = propertyMapping.getNestedQueryId();
 final String property = propertyMapping.getProperty();
 final MappedStatement nestedQuery = configuration.getMappedStatement(nestedQueryId);
 final Class<?> nestedQueryParameterType = nestedQuery.getParameterMap().getType();
 final Object nestedQueryParameterObject = prepareParameterForNestedQuery(rs, propertyMapping, nestedQueryParameterType, columnPrefix);
 Object value = null;
 if (nestedQueryParameterObject != null) {
  final BoundSql nestedBoundSql = nestedQuery.getBoundSql(nestedQueryParameterObject);
  final CacheKey key = executor.createCacheKey(nestedQuery, nestedQueryParameterObject, RowBounds.DEFAULT, nestedBoundSql);
  final Class<?> targetType = propertyMapping.getJavaType();
  if (executor.isCached(nestedQuery, key)) {
   executor.deferLoad(nestedQuery, metaResultObject, property, key, targetType);
   value = DEFERED;
  } else {
   final ResultLoader resultLoader = new ResultLoader(configuration, executor, nestedQuery, nestedQueryParameterObject, targetType, key, nestedBoundSql);
   if (propertyMapping.isLazy()) {
    lazyLoader.addLoader(property, metaResultObject, resultLoader);
    value = DEFERED;
   } else {
    value = resultLoader.loadResult();
   }
  }
 }
 return value;
}

代码示例来源:origin: miemiedev/mybatis-paginator

public Object call() throws Exception {
    Integer count;
    Cache cache = ms.getCache();
    if(cache != null && ms.isUseCache() && ms.getConfiguration().isCacheEnabled()){
      CacheKey cacheKey = executor.createCacheKey(ms,parameter,new PageBounds(),copyFromBoundSql(ms,boundSql,dialect.getCountSQL(), boundSql.getParameterMappings(), boundSql.getParameterObject()));
      count = (Integer)cache.getObject(cacheKey);
      if(count == null){
        count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
        cache.putObject(cacheKey, count);
      }
    }else{
      count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
    }
    return new Paginator(pageBounds.getPage(), pageBounds.getLimit(), count);
  }
};

代码示例来源:origin: camunda/camunda-bpm-platform

@Override
public Transaction getTransaction() {
 return delegate.getTransaction();
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Override
public void commit(boolean required) throws SQLException {
 delegate.commit(required);
 tcm.commit();
}

代码示例来源:origin: org.mybatis/mybatis

@Override
public void close(boolean forceRollback) {
 try {
  //issues #499, #524 and #573
  if (forceRollback) {
   tcm.rollback();
  } else {
   tcm.commit();
  }
 } finally {
  delegate.close(forceRollback);
 }
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Override
public void deferLoad(MappedStatement ms, MetaObject resultObject, String property, CacheKey key, Class<?> targetType) {
 delegate.deferLoad(ms, resultObject, property, key, targetType);
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Override
public <E> List<E> query(MappedStatement ms, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql boundSql)
  throws SQLException {
 Cache cache = ms.getCache();
 if (cache != null) {
  flushCacheIfRequired(ms);
  if (ms.isUseCache() && resultHandler == null) {
   ensureNoOutParams(ms, parameterObject, boundSql);
   @SuppressWarnings("unchecked")
   List<E> list = (List<E>) tcm.getObject(cache, key);
   if (list == null) {
    list = delegate.<E> query(ms, parameterObject, rowBounds, resultHandler, key, boundSql);
    tcm.putObject(cache, key, list); // issue #578 and #116
   }
   return list;
  }
 }
 return delegate.<E> query(ms, parameterObject, rowBounds, resultHandler, key, boundSql);
}

代码示例来源:origin: org.mybatis/mybatis

@Override
public CacheKey createCacheKey(MappedStatement ms, Object parameterObject, RowBounds rowBounds, BoundSql boundSql) {
 return delegate.createCacheKey(ms, parameterObject, rowBounds, boundSql);
}

代码示例来源:origin: org.mybatis/mybatis

private <E> List<E> selectList() throws SQLException {
 Executor localExecutor = executor;
 if (Thread.currentThread().getId() != this.creatorThreadId || localExecutor.isClosed()) {
  localExecutor = newExecutor();
 }
 try {
  return localExecutor.<E> query(mappedStatement, parameterObject, RowBounds.DEFAULT, Executor.NO_RESULT_HANDLER, cacheKey, boundSql);
 } finally {
  if (localExecutor != executor) {
   localExecutor.close(false);
  }
 }
}

代码示例来源:origin: org.mybatis/mybatis

private Object getNestedQueryMappingValue(ResultSet rs, MetaObject metaResultObject, ResultMapping propertyMapping, ResultLoaderMap lazyLoader, String columnPrefix)
  throws SQLException {
 final String nestedQueryId = propertyMapping.getNestedQueryId();
 final String property = propertyMapping.getProperty();
 final MappedStatement nestedQuery = configuration.getMappedStatement(nestedQueryId);
 final Class<?> nestedQueryParameterType = nestedQuery.getParameterMap().getType();
 final Object nestedQueryParameterObject = prepareParameterForNestedQuery(rs, propertyMapping, nestedQueryParameterType, columnPrefix);
 Object value = null;
 if (nestedQueryParameterObject != null) {
  final BoundSql nestedBoundSql = nestedQuery.getBoundSql(nestedQueryParameterObject);
  final CacheKey key = executor.createCacheKey(nestedQuery, nestedQueryParameterObject, RowBounds.DEFAULT, nestedBoundSql);
  final Class<?> targetType = propertyMapping.getJavaType();
  if (executor.isCached(nestedQuery, key)) {
   executor.deferLoad(nestedQuery, metaResultObject, property, key, targetType);
   value = DEFERRED;
  } else {
   final ResultLoader resultLoader = new ResultLoader(configuration, executor, nestedQuery, nestedQueryParameterObject, targetType, key, nestedBoundSql);
   if (propertyMapping.isLazy()) {
    lazyLoader.addLoader(property, metaResultObject, resultLoader);
    value = DEFERRED;
   } else {
    value = resultLoader.loadResult();
   }
  }
 }
 return value;
}

代码示例来源:origin: com.github.miemiedev/mybatis-paginator

public Object call() throws Exception {
    Integer count;
    Cache cache = ms.getCache();
    if(cache != null && ms.isUseCache() && ms.getConfiguration().isCacheEnabled()){
      CacheKey cacheKey = executor.createCacheKey(ms,parameter,new PageBounds(),copyFromBoundSql(ms,boundSql,dialect.getCountSQL(), boundSql.getParameterMappings(), boundSql.getParameterObject()));
      count = (Integer)cache.getObject(cacheKey);
      if(count == null){
        count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
        cache.putObject(cacheKey, count);
      }
    }else{
      count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
    }
    return new Paginator(pageBounds.getPage(), pageBounds.getLimit(), count);
  }
};

代码示例来源:origin: org.mybatis/mybatis

@Override
public Transaction getTransaction() {
 return delegate.getTransaction();
}

代码示例来源:origin: org.mybatis/mybatis

@Override
public void commit(boolean required) throws SQLException {
 delegate.commit(required);
 tcm.commit();
}

代码示例来源:origin: camunda/camunda-bpm-platform

@Override
public void close(boolean forceRollback) {
 try {
  //issues #499, #524 and #573
  if (forceRollback) { 
   tcm.rollback();
  } else {
   tcm.commit();
  }
 } finally {
  delegate.close(forceRollback);
 }
}

相关文章