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

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

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

Executor介绍

暂无

代码示例

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

  1. /**
  2. * 执行手动设置的 count 查询,该查询支持的参数必须和被分页的方法相同
  3. *
  4. * @param executor
  5. * @param countMs
  6. * @param parameter
  7. * @param boundSql
  8. * @param resultHandler
  9. * @return
  10. * @throws SQLException
  11. */
  12. public static Long executeManualCount(Executor executor, MappedStatement countMs,
  13. Object parameter, BoundSql boundSql,
  14. ResultHandler resultHandler) throws SQLException {
  15. CacheKey countKey = executor.createCacheKey(countMs, parameter, RowBounds.DEFAULT, boundSql);
  16. BoundSql countBoundSql = countMs.getBoundSql(parameter);
  17. Object countResultList = executor.query(countMs, parameter, RowBounds.DEFAULT, resultHandler, countKey, countBoundSql);
  18. Long count = ((Number) ((List) countResultList).get(0)).longValue();
  19. return count;
  20. }

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

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

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

  1. @Override
  2. public void clearCache() {
  3. executor.clearLocalCache();
  4. }

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

  1. private <E> List<E> selectList() throws SQLException {
  2. Executor localExecutor = executor;
  3. if (Thread.currentThread().getId() != this.creatorThreadId || localExecutor.isClosed()) {
  4. localExecutor = newExecutor();
  5. }
  6. try {
  7. return localExecutor.<E> query(mappedStatement, parameterObject, RowBounds.DEFAULT, Executor.NO_RESULT_HANDLER, cacheKey, boundSql);
  8. } finally {
  9. if (localExecutor != executor) {
  10. localExecutor.close(false);
  11. }
  12. }
  13. }

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

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

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

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

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

  1. private Object getNestedQueryMappingValue(ResultSet rs, MetaObject metaResultObject, ResultMapping propertyMapping, ResultLoaderMap lazyLoader, String columnPrefix)
  2. throws SQLException {
  3. final String nestedQueryId = propertyMapping.getNestedQueryId();
  4. final String property = propertyMapping.getProperty();
  5. final MappedStatement nestedQuery = configuration.getMappedStatement(nestedQueryId);
  6. final Class<?> nestedQueryParameterType = nestedQuery.getParameterMap().getType();
  7. final Object nestedQueryParameterObject = prepareParameterForNestedQuery(rs, propertyMapping, nestedQueryParameterType, columnPrefix);
  8. Object value = null;
  9. if (nestedQueryParameterObject != null) {
  10. final BoundSql nestedBoundSql = nestedQuery.getBoundSql(nestedQueryParameterObject);
  11. final CacheKey key = executor.createCacheKey(nestedQuery, nestedQueryParameterObject, RowBounds.DEFAULT, nestedBoundSql);
  12. final Class<?> targetType = propertyMapping.getJavaType();
  13. if (executor.isCached(nestedQuery, key)) {
  14. executor.deferLoad(nestedQuery, metaResultObject, property, key, targetType);
  15. value = DEFERED;
  16. } else {
  17. final ResultLoader resultLoader = new ResultLoader(configuration, executor, nestedQuery, nestedQueryParameterObject, targetType, key, nestedBoundSql);
  18. if (propertyMapping.isLazy()) {
  19. lazyLoader.addLoader(property, metaResultObject, resultLoader);
  20. value = DEFERED;
  21. } else {
  22. value = resultLoader.loadResult();
  23. }
  24. }
  25. }
  26. return value;
  27. }

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

  1. public Object call() throws Exception {
  2. Integer count;
  3. Cache cache = ms.getCache();
  4. if(cache != null && ms.isUseCache() && ms.getConfiguration().isCacheEnabled()){
  5. CacheKey cacheKey = executor.createCacheKey(ms,parameter,new PageBounds(),copyFromBoundSql(ms,boundSql,dialect.getCountSQL(), boundSql.getParameterMappings(), boundSql.getParameterObject()));
  6. count = (Integer)cache.getObject(cacheKey);
  7. if(count == null){
  8. count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
  9. cache.putObject(cacheKey, count);
  10. }
  11. }else{
  12. count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
  13. }
  14. return new Paginator(pageBounds.getPage(), pageBounds.getLimit(), count);
  15. }
  16. };

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

  1. @Override
  2. public Transaction getTransaction() {
  3. return delegate.getTransaction();
  4. }

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

  1. @Override
  2. public void commit(boolean required) throws SQLException {
  3. delegate.commit(required);
  4. tcm.commit();
  5. }

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

  1. @Override
  2. public void close(boolean forceRollback) {
  3. try {
  4. //issues #499, #524 and #573
  5. if (forceRollback) {
  6. tcm.rollback();
  7. } else {
  8. tcm.commit();
  9. }
  10. } finally {
  11. delegate.close(forceRollback);
  12. }
  13. }

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

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

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

  1. @Override
  2. public <E> List<E> query(MappedStatement ms, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql boundSql)
  3. throws SQLException {
  4. Cache cache = ms.getCache();
  5. if (cache != null) {
  6. flushCacheIfRequired(ms);
  7. if (ms.isUseCache() && resultHandler == null) {
  8. ensureNoOutParams(ms, parameterObject, boundSql);
  9. @SuppressWarnings("unchecked")
  10. List<E> list = (List<E>) tcm.getObject(cache, key);
  11. if (list == null) {
  12. list = delegate.<E> query(ms, parameterObject, rowBounds, resultHandler, key, boundSql);
  13. tcm.putObject(cache, key, list); // issue #578 and #116
  14. }
  15. return list;
  16. }
  17. }
  18. return delegate.<E> query(ms, parameterObject, rowBounds, resultHandler, key, boundSql);
  19. }

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

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

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

  1. private <E> List<E> selectList() throws SQLException {
  2. Executor localExecutor = executor;
  3. if (Thread.currentThread().getId() != this.creatorThreadId || localExecutor.isClosed()) {
  4. localExecutor = newExecutor();
  5. }
  6. try {
  7. return localExecutor.<E> query(mappedStatement, parameterObject, RowBounds.DEFAULT, Executor.NO_RESULT_HANDLER, cacheKey, boundSql);
  8. } finally {
  9. if (localExecutor != executor) {
  10. localExecutor.close(false);
  11. }
  12. }
  13. }

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

  1. private Object getNestedQueryMappingValue(ResultSet rs, MetaObject metaResultObject, ResultMapping propertyMapping, ResultLoaderMap lazyLoader, String columnPrefix)
  2. throws SQLException {
  3. final String nestedQueryId = propertyMapping.getNestedQueryId();
  4. final String property = propertyMapping.getProperty();
  5. final MappedStatement nestedQuery = configuration.getMappedStatement(nestedQueryId);
  6. final Class<?> nestedQueryParameterType = nestedQuery.getParameterMap().getType();
  7. final Object nestedQueryParameterObject = prepareParameterForNestedQuery(rs, propertyMapping, nestedQueryParameterType, columnPrefix);
  8. Object value = null;
  9. if (nestedQueryParameterObject != null) {
  10. final BoundSql nestedBoundSql = nestedQuery.getBoundSql(nestedQueryParameterObject);
  11. final CacheKey key = executor.createCacheKey(nestedQuery, nestedQueryParameterObject, RowBounds.DEFAULT, nestedBoundSql);
  12. final Class<?> targetType = propertyMapping.getJavaType();
  13. if (executor.isCached(nestedQuery, key)) {
  14. executor.deferLoad(nestedQuery, metaResultObject, property, key, targetType);
  15. value = DEFERRED;
  16. } else {
  17. final ResultLoader resultLoader = new ResultLoader(configuration, executor, nestedQuery, nestedQueryParameterObject, targetType, key, nestedBoundSql);
  18. if (propertyMapping.isLazy()) {
  19. lazyLoader.addLoader(property, metaResultObject, resultLoader);
  20. value = DEFERRED;
  21. } else {
  22. value = resultLoader.loadResult();
  23. }
  24. }
  25. }
  26. return value;
  27. }

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

  1. public Object call() throws Exception {
  2. Integer count;
  3. Cache cache = ms.getCache();
  4. if(cache != null && ms.isUseCache() && ms.getConfiguration().isCacheEnabled()){
  5. CacheKey cacheKey = executor.createCacheKey(ms,parameter,new PageBounds(),copyFromBoundSql(ms,boundSql,dialect.getCountSQL(), boundSql.getParameterMappings(), boundSql.getParameterObject()));
  6. count = (Integer)cache.getObject(cacheKey);
  7. if(count == null){
  8. count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
  9. cache.putObject(cacheKey, count);
  10. }
  11. }else{
  12. count = SQLHelp.getCount(ms,executor.getTransaction(),parameter,boundSql,dialect);
  13. }
  14. return new Paginator(pageBounds.getPage(), pageBounds.getLimit(), count);
  15. }
  16. };

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

  1. @Override
  2. public Transaction getTransaction() {
  3. return delegate.getTransaction();
  4. }

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

  1. @Override
  2. public void commit(boolean required) throws SQLException {
  3. delegate.commit(required);
  4. tcm.commit();
  5. }

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

  1. @Override
  2. public void close(boolean forceRollback) {
  3. try {
  4. //issues #499, #524 and #573
  5. if (forceRollback) {
  6. tcm.rollback();
  7. } else {
  8. tcm.commit();
  9. }
  10. } finally {
  11. delegate.close(forceRollback);
  12. }
  13. }

相关文章