org.apache.ibatis.session.Configuration.getResultMap()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(13.3k)|赞(0)|评价(0)|浏览(180)

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

Configuration.getResultMap介绍

暂无

代码示例

代码示例来源:origin: hs-web/hsweb-framework

public static ResultMap getResultMap(String id) {
  return getSqlSession().getConfiguration().getResultMap(id);
}

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

private ResultMap getNestedResultMap(ResultSet rs, String nestedResultMapId, String columnPrefix) throws SQLException {
 ResultMap nestedResultMap = configuration.getResultMap(nestedResultMapId);
 return resolveDiscriminatedResultMap(rs, nestedResultMap, columnPrefix);
}

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

private ResultMap getNestedResultMap(ResultSet rs, String nestedResultMapId, String columnPrefix) throws SQLException {
 ResultMap nestedResultMap = configuration.getResultMap(nestedResultMapId);
 return resolveDiscriminatedResultMap(rs, nestedResultMap, columnPrefix);
}

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

private List<ResultMap> getStatementResultMaps(
  String resultMap,
  Class<?> resultType,
  String statementId) {
 resultMap = applyCurrentNamespace(resultMap, true);
 List<ResultMap> resultMaps = new ArrayList<ResultMap>();
 if (resultMap != null) {
  String[] resultMapNames = resultMap.split(",");
  for (String resultMapName : resultMapNames) {
   try {
    resultMaps.add(configuration.getResultMap(resultMapName.trim()));
   } catch (IllegalArgumentException e) {
    throw new IncompleteElementException("Could not find result map " + resultMapName, e);
   }
  }
 } else if (resultType != null) {
  ResultMap inlineResultMap = new ResultMap.Builder(
    configuration,
    statementId + "-Inline",
    resultType,
    new ArrayList<ResultMapping>(),
    null).build();
  resultMaps.add(inlineResultMap);
 }
 return resultMaps;
}

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

private List<ResultMap> getStatementResultMaps(
  String resultMap,
  Class<?> resultType,
  String statementId) {
 resultMap = applyCurrentNamespace(resultMap, true);
 List<ResultMap> resultMaps = new ArrayList<>();
 if (resultMap != null) {
  String[] resultMapNames = resultMap.split(",");
  for (String resultMapName : resultMapNames) {
   try {
    resultMaps.add(configuration.getResultMap(resultMapName.trim()));
   } catch (IllegalArgumentException e) {
    throw new IncompleteElementException("Could not find result map " + resultMapName, e);
   }
  }
 } else if (resultType != null) {
  ResultMap inlineResultMap = new ResultMap.Builder(
    configuration,
    statementId + "-Inline",
    resultType,
    new ArrayList<>(),
    null).build();
  resultMaps.add(inlineResultMap);
 }
 return resultMaps;
}

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

public ResultMap resolveDiscriminatedResultMap(ResultSet rs, ResultMap resultMap, String columnPrefix) throws SQLException {
 Set<String> pastDiscriminators = new HashSet<>();
 Discriminator discriminator = resultMap.getDiscriminator();
 while (discriminator != null) {
  final Object value = getDiscriminatorValue(rs, discriminator, columnPrefix);
  final String discriminatedMapId = discriminator.getMapIdFor(String.valueOf(value));
  if (configuration.hasResultMap(discriminatedMapId)) {
   resultMap = configuration.getResultMap(discriminatedMapId);
   Discriminator lastDiscriminator = discriminator;
   discriminator = resultMap.getDiscriminator();
   if (discriminator == lastDiscriminator || !pastDiscriminators.add(discriminatedMapId)) {
    break;
   }
  } else {
   break;
  }
 }
 return resultMap;
}

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

public ResultMap resolveDiscriminatedResultMap(ResultSet rs, ResultMap resultMap, String columnPrefix) throws SQLException {
 Set<String> pastDiscriminators = new HashSet<String>();
 Discriminator discriminator = resultMap.getDiscriminator();
 while (discriminator != null) {
  final Object value = getDiscriminatorValue(rs, discriminator, columnPrefix);
  final String discriminatedMapId = discriminator.getMapIdFor(String.valueOf(value));
  if (configuration.hasResultMap(discriminatedMapId)) {
   resultMap = configuration.getResultMap(discriminatedMapId);
   Discriminator lastDiscriminator = discriminator;
   discriminator = resultMap.getDiscriminator();
   if (discriminator == lastDiscriminator || !pastDiscriminators.add(discriminatedMapId)) {
    break;
   }
  } else {
   break;
  }
 }
 return resultMap;
}

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

throw new IncompleteElementException("Could not find a parent resultmap with id '" + extend + "'");
ResultMap resultMap = configuration.getResultMap(extend);
List<ResultMapping> extendedResultMappings = new ArrayList<ResultMapping>(resultMap.getResultMappings());
extendedResultMappings.removeAll(resultMappings);

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

throw new IncompleteElementException("Could not find a parent resultmap with id '" + extend + "'");
ResultMap resultMap = configuration.getResultMap(extend);
List<ResultMapping> extendedResultMappings = new ArrayList<>(resultMap.getResultMappings());
extendedResultMappings.removeAll(resultMappings);

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

public BoundSql getBoundSql(Object parameterObject) {
 BoundSql boundSql = sqlSource.getBoundSql(parameterObject);
 List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
 if (parameterMappings == null || parameterMappings.isEmpty()) {
  boundSql = new BoundSql(configuration, boundSql.getSql(), parameterMap.getParameterMappings(), parameterObject);
 }
 // check for nested result maps in parameter mappings (issue #30)
 for (ParameterMapping pm : boundSql.getParameterMappings()) {
  String rmId = pm.getResultMapId();
  if (rmId != null) {
   ResultMap rm = configuration.getResultMap(rmId);
   if (rm != null) {
    hasNestedResultMaps |= rm.hasNestedResultMaps();
   }
  }
 }
 return boundSql;
}

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

public BoundSql getBoundSql(Object parameterObject) {
 BoundSql boundSql = sqlSource.getBoundSql(parameterObject);
 List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
 if (parameterMappings == null || parameterMappings.isEmpty()) {
  boundSql = new BoundSql(configuration, boundSql.getSql(), parameterMap.getParameterMappings(), parameterObject);
 }
 // check for nested result maps in parameter mappings (issue #30)
 for (ParameterMapping pm : boundSql.getParameterMappings()) {
  String rmId = pm.getResultMapId();
  if (rmId != null) {
   ResultMap rm = configuration.getResultMap(rmId);
   if (rm != null) {
    hasNestedResultMaps |= rm.hasNestedResultMaps();
   }
  }
 }
 return boundSql;
}

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

if (parentMapping != null) {
 String nestedResultMapId = parentMapping.getNestedResultMapId();
 ResultMap resultMap = configuration.getResultMap(nestedResultMapId);
 handleResultSet(rsw, resultMap, null, parentMapping);

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

if (parentMapping != null) {
 String nestedResultMapId = parentMapping.getNestedResultMapId();
 ResultMap resultMap = configuration.getResultMap(nestedResultMapId);
 handleResultSet(rsw, resultMap, null, parentMapping);

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

private void handleRefCursorOutputParameter(ResultSet rs, ParameterMapping parameterMapping, MetaObject metaParam) throws SQLException {
 if (rs == null) {
  return;
 }
 try {
  final String resultMapId = parameterMapping.getResultMapId();
  final ResultMap resultMap = configuration.getResultMap(resultMapId);
  final DefaultResultHandler resultHandler = new DefaultResultHandler(objectFactory);
  final ResultSetWrapper rsw = new ResultSetWrapper(rs, configuration);
  handleRowValues(rsw, resultMap, resultHandler, new RowBounds(), null);
  metaParam.setValue(parameterMapping.getProperty(), resultHandler.getResultList());
 } finally {
  // issue #228 (close resultsets)
  closeResultSet(rs);
 }
}

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

Object createParameterizedResultObject(ResultSetWrapper rsw, Class<?> resultType, List<ResultMapping> constructorMappings,
                    List<Class<?>> constructorArgTypes, List<Object> constructorArgs, String columnPrefix) {
 boolean foundValues = false;
 for (ResultMapping constructorMapping : constructorMappings) {
  final Class<?> parameterType = constructorMapping.getJavaType();
  final String column = constructorMapping.getColumn();
  final Object value;
  try {
   if (constructorMapping.getNestedQueryId() != null) {
    value = getNestedQueryConstructorValue(rsw.getResultSet(), constructorMapping, columnPrefix);
   } else if (constructorMapping.getNestedResultMapId() != null) {
    final ResultMap resultMap = configuration.getResultMap(constructorMapping.getNestedResultMapId());
    value = getRowValue(rsw, resultMap, constructorMapping.getColumnPrefix());
   } else {
    final TypeHandler<?> typeHandler = constructorMapping.getTypeHandler();
    value = typeHandler.getResult(rsw.getResultSet(), prependPrefix(column, columnPrefix));
   }
  } catch (ResultMapException | SQLException e) {
   throw new ExecutorException("Could not process result for mapping: " + constructorMapping, e);
  }
  constructorArgTypes.add(parameterType);
  constructorArgs.add(value);
  foundValues = value != null || foundValues;
 }
 return foundValues ? objectFactory.create(resultType, constructorArgTypes, constructorArgs) : null;
}

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

Object createParameterizedResultObject(ResultSetWrapper rsw, Class<?> resultType, List<ResultMapping> constructorMappings,
                    List<Class<?>> constructorArgTypes, List<Object> constructorArgs, String columnPrefix) {
 boolean foundValues = false;
 for (ResultMapping constructorMapping : constructorMappings) {
  final Class<?> parameterType = constructorMapping.getJavaType();
  final String column = constructorMapping.getColumn();
  final Object value;
  try {
   if (constructorMapping.getNestedQueryId() != null) {
    value = getNestedQueryConstructorValue(rsw.getResultSet(), constructorMapping, columnPrefix);
   } else if (constructorMapping.getNestedResultMapId() != null) {
    final ResultMap resultMap = configuration.getResultMap(constructorMapping.getNestedResultMapId());
    value = getRowValue(rsw, resultMap);
   } else {
    final TypeHandler<?> typeHandler = constructorMapping.getTypeHandler();
    value = typeHandler.getResult(rsw.getResultSet(), prependPrefix(column, columnPrefix));
   }
  } catch (ResultMapException e) {
   throw new ExecutorException("Could not process result for mapping: " + constructorMapping, e);
  } catch (SQLException e) {
   throw new ExecutorException("Could not process result for mapping: " + constructorMapping, e);
  }
  constructorArgTypes.add(parameterType);
  constructorArgs.add(value);
  foundValues = value != null || foundValues;
 }
 return foundValues ? objectFactory.create(resultType, constructorArgTypes, constructorArgs) : null;
}

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

private void createRowKeyForMappedProperties(ResultMap resultMap, ResultSetWrapper rsw, CacheKey cacheKey, List<ResultMapping> resultMappings, String columnPrefix) throws SQLException {
 for (ResultMapping resultMapping : resultMappings) {
  if (resultMapping.getNestedResultMapId() != null && resultMapping.getResultSet() == null) {
   // Issue #392
   final ResultMap nestedResultMap = configuration.getResultMap(resultMapping.getNestedResultMapId());
   createRowKeyForMappedProperties(nestedResultMap, rsw, cacheKey, nestedResultMap.getConstructorResultMappings(),
     prependPrefix(resultMapping.getColumnPrefix(), columnPrefix));
  } else if (resultMapping.getNestedQueryId() == null) {
   final String column = prependPrefix(resultMapping.getColumn(), columnPrefix);
   final TypeHandler<?> th = resultMapping.getTypeHandler();
   List<String> mappedColumnNames = rsw.getMappedColumnNames(resultMap, columnPrefix);
   // Issue #114
   if (column != null && mappedColumnNames.contains(column.toUpperCase(Locale.ENGLISH))) {
    final Object value = th.getResult(rsw.getResultSet(), column);
    if (value != null || configuration.isReturnInstanceForEmptyRow()) {
     cacheKey.update(column);
     cacheKey.update(value);
    }
   }
  }
 }
}

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

private void createRowKeyForMappedProperties(ResultMap resultMap, ResultSetWrapper rsw, CacheKey cacheKey, List<ResultMapping> resultMappings, String columnPrefix) throws SQLException {
 for (ResultMapping resultMapping : resultMappings) {
  if (resultMapping.getNestedResultMapId() != null && resultMapping.getResultSet() == null) {
   // Issue #392
   final ResultMap nestedResultMap = configuration.getResultMap(resultMapping.getNestedResultMapId());
   createRowKeyForMappedProperties(nestedResultMap, rsw, cacheKey, nestedResultMap.getConstructorResultMappings(),
     prependPrefix(resultMapping.getColumnPrefix(), columnPrefix));
  } else if (resultMapping.getNestedQueryId() == null) {
   final String column = prependPrefix(resultMapping.getColumn(), columnPrefix);
   final TypeHandler<?> th = resultMapping.getTypeHandler();
   List<String> mappedColumnNames = rsw.getMappedColumnNames(resultMap, columnPrefix);
   // Issue #114
   if (column != null && mappedColumnNames.contains(column.toUpperCase(Locale.ENGLISH))) {
    final Object value = th.getResult(rsw.getResultSet(), column);
    if (value != null || configuration.isReturnInstanceForEmptyRow()) {
     cacheKey.update(column);
     cacheKey.update(value);
    }
   }
  }
 }
}

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

private void handleRefCursorOutputParameter(ResultSet rs, ParameterMapping parameterMapping, MetaObject metaParam) throws SQLException {
 if (rs == null) {
  return;
 }
 try {
  final String resultMapId = parameterMapping.getResultMapId();
  final ResultMap resultMap = configuration.getResultMap(resultMapId);
  final ResultSetWrapper rsw = new ResultSetWrapper(rs, configuration);
  if (this.resultHandler == null) {
   final DefaultResultHandler resultHandler = new DefaultResultHandler(objectFactory);
   handleRowValues(rsw, resultMap, resultHandler, new RowBounds(), null);
   metaParam.setValue(parameterMapping.getProperty(), resultHandler.getResultList());
  } else {
   handleRowValues(rsw, resultMap, resultHandler, new RowBounds(), null);
  }
 } finally {
  // issue #228 (close resultsets)
  closeResultSet(rs);
 }
}

代码示例来源:origin: com.talanlabs/bean-mybatis

@Override
public ResultMap getResultMap(String id) {
  if (hasResultMap(id)) {
    return super.getResultMap(id);
  }
  return super.getResultMap(id);
}

相关文章

微信公众号

最新文章

更多

Configuration类方法