当前位置: 首页>>代码示例>>Java>>正文


Java ResultMap.getPropertyResultMappings方法代码示例

本文整理汇总了Java中org.apache.ibatis.mapping.ResultMap.getPropertyResultMappings方法的典型用法代码示例。如果您正苦于以下问题:Java ResultMap.getPropertyResultMappings方法的具体用法?Java ResultMap.getPropertyResultMappings怎么用?Java ResultMap.getPropertyResultMappings使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.ibatis.mapping.ResultMap的用法示例。


在下文中一共展示了ResultMap.getPropertyResultMappings方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: applyPropertyMappings

import org.apache.ibatis.mapping.ResultMap; //导入方法依赖的package包/类
private boolean applyPropertyMappings(ResultSetWrapper rsw, ResultMap resultMap, MetaObject metaObject, ResultLoaderMap lazyLoader, String columnPrefix)
    throws SQLException {
  final List<String> mappedColumnNames = rsw.getMappedColumnNames(resultMap, columnPrefix);
  boolean foundValues = false;
  final List<ResultMapping> propertyMappings = resultMap.getPropertyResultMappings();
  for (ResultMapping propertyMapping : propertyMappings) {
    String column = prependPrefix(propertyMapping.getColumn(), columnPrefix);
    if (propertyMapping.getNestedResultMapId() != null) {
      // the user added a column attribute to a nested result map, ignore it
      column = null;
    }
    if (propertyMapping.isCompositeResult()
        || (column != null && mappedColumnNames.contains(column.toUpperCase(Locale.ENGLISH)))
        || propertyMapping.getResultSet() != null) {
      Object value = getPropertyMappingValue(rsw.getResultSet(), metaObject, propertyMapping, lazyLoader, columnPrefix);
      // issue #541 make property optional
      final String property = propertyMapping.getProperty();
      if (property == null) {
        continue;
      } else if (value == DEFERED) {
        foundValues = true;
        continue;
      }
      if (value != null) {
        foundValues = true;
      }
      if (value != null || (configuration.isCallSettersOnNulls() && !metaObject.getSetterType(property).isPrimitive())) {
        // gcode issue #377, call setter on nulls (value is not 'found')
        metaObject.setValue(property, value);
      }
    }
  }
  return foundValues;
}
 
开发者ID:yuexiahandao,项目名称:MybatisCode,代码行数:35,代码来源:DefaultResultSetHandler.java

示例2: createResultObject

import org.apache.ibatis.mapping.ResultMap; //导入方法依赖的package包/类
private Object createResultObject(ResultSetWrapper rsw, ResultMap resultMap, ResultLoaderMap lazyLoader, String columnPrefix) throws SQLException {
  final List<Class<?>> constructorArgTypes = new ArrayList<Class<?>>();
  final List<Object> constructorArgs = new ArrayList<Object>();
  final Object resultObject = createResultObject(rsw, resultMap, constructorArgTypes, constructorArgs, columnPrefix);
  if (resultObject != null && !hasTypeHandlerForResultObject(rsw, resultMap.getType())) {
    final List<ResultMapping> propertyMappings = resultMap.getPropertyResultMappings();
    for (ResultMapping propertyMapping : propertyMappings) {
      // issue gcode #109 && issue #149
      if (propertyMapping.getNestedQueryId() != null && propertyMapping.isLazy()) {
        return configuration.getProxyFactory().createProxy(resultObject, lazyLoader, configuration, objectFactory, constructorArgTypes, constructorArgs);
      }
    }
  }
  return resultObject;
}
 
开发者ID:yuexiahandao,项目名称:MybatisCode,代码行数:16,代码来源:DefaultResultSetHandler.java

示例3: applyNestedResultMappings

import org.apache.ibatis.mapping.ResultMap; //导入方法依赖的package包/类
private boolean applyNestedResultMappings(ResultSetWrapper rsw, ResultMap resultMap, MetaObject metaObject, String parentPrefix, CacheKey parentRowKey, boolean newObject) {
  boolean foundValues = false;
  for (ResultMapping resultMapping : resultMap.getPropertyResultMappings()) {
    final String nestedResultMapId = resultMapping.getNestedResultMapId();
    if (nestedResultMapId != null && resultMapping.getResultSet() == null) {
      try {
        final String columnPrefix = getColumnPrefix(parentPrefix, resultMapping);
        final ResultMap nestedResultMap = getNestedResultMap(rsw.getResultSet(), nestedResultMapId, columnPrefix);
        if (resultMapping.getColumnPrefix() == null) {
          // try to fill circular reference only when columnPrefix
          // is not specified for the nested result map (issue #215)
          Object ancestorObject = ancestorObjects.get(nestedResultMapId);
          if (ancestorObject != null) {
            if (newObject) {
              linkObjects(metaObject, resultMapping, ancestorObject); // issue #385
            }
            continue;
          }
        } 
        final CacheKey rowKey = createRowKey(nestedResultMap, rsw, columnPrefix);
        final CacheKey combinedKey = combineKeys(rowKey, parentRowKey);
        Object rowValue = nestedResultObjects.get(combinedKey);
        boolean knownValue = (rowValue != null);
        instantiateCollectionPropertyIfAppropriate(resultMapping, metaObject); // mandatory
        if (anyNotNullColumnHasValue(resultMapping, columnPrefix, rsw)) {
          rowValue = getRowValue(rsw, nestedResultMap, combinedKey, columnPrefix, rowValue);
          if (rowValue != null && !knownValue) {
            linkObjects(metaObject, resultMapping, rowValue);
            foundValues = true;
          }
        }
      } catch (SQLException e) {
        throw new ExecutorException("Error getting nested result map values for '" + resultMapping.getProperty() + "'.  Cause: " + e, e);
      }
    }
  }
  return foundValues;
}
 
开发者ID:yuexiahandao,项目名称:MybatisCode,代码行数:39,代码来源:DefaultResultSetHandler.java

示例4: getResultMappingsForRowKey

import org.apache.ibatis.mapping.ResultMap; //导入方法依赖的package包/类
private List<ResultMapping> getResultMappingsForRowKey(ResultMap resultMap) {
  List<ResultMapping> resultMappings = resultMap.getIdResultMappings();
  if (resultMappings.size() == 0) {
    resultMappings = resultMap.getPropertyResultMappings();
  }
  return resultMappings;
}
 
开发者ID:yuexiahandao,项目名称:MybatisCode,代码行数:8,代码来源:DefaultResultSetHandler.java

示例5: applyPropertyMappings

import org.apache.ibatis.mapping.ResultMap; //导入方法依赖的package包/类
private boolean applyPropertyMappings(ResultSetWrapper rsw, ResultMap resultMap, MetaObject metaObject, ResultLoaderMap lazyLoader, String columnPrefix)
    throws SQLException {
  final List<String> mappedColumnNames = rsw.getMappedColumnNames(resultMap, columnPrefix);
  boolean foundValues = false;
  final List<ResultMapping> propertyMappings = resultMap.getPropertyResultMappings();
  for (ResultMapping propertyMapping : propertyMappings) {
    String column = prependPrefix(propertyMapping.getColumn(), columnPrefix);
    if (propertyMapping.getNestedResultMapId() != null) {
      // the user added a column attribute to a nested result map, ignore it
      column = null;
    }
    if (propertyMapping.isCompositeResult()
        || (column != null && mappedColumnNames.contains(column.toUpperCase(Locale.ENGLISH)))
        || propertyMapping.getResultSet() != null) {
      Object value = getPropertyMappingValue(rsw.getResultSet(), metaObject, propertyMapping, lazyLoader, columnPrefix);
      // issue #541 make property optional
      final String property = propertyMapping.getProperty();
      // issue #377, call setter on nulls
      if (value != DEFERED
          && property != null
          && (value != null || (configuration.isCallSettersOnNulls() && !metaObject.getSetterType(property).isPrimitive()))) {
        metaObject.setValue(property, value);
      }
      if (property != null && (value != null || value == DEFERED)) {
        foundValues = true;
      }
    }
  }
  return foundValues;
}
 
开发者ID:txazo,项目名称:mybatis,代码行数:31,代码来源:DefaultResultSetHandler.java

示例6: applyNestedResultMappings

import org.apache.ibatis.mapping.ResultMap; //导入方法依赖的package包/类
private boolean applyNestedResultMappings(ResultSetWrapper rsw, ResultMap resultMap, MetaObject metaObject, String parentPrefix, CacheKey parentRowKey, boolean newObject) {
  boolean foundValues = false;
  for (ResultMapping resultMapping : resultMap.getPropertyResultMappings()) {
    final String nestedResultMapId = resultMapping.getNestedResultMapId();
    if (nestedResultMapId != null && resultMapping.getResultSet() == null) {
      try {
        final String columnPrefix = getColumnPrefix(parentPrefix, resultMapping);
        final ResultMap nestedResultMap = getNestedResultMap(rsw.getResultSet(), nestedResultMapId, columnPrefix);
        Object ancestorObject = ancestorObjects.get(nestedResultMapId);
        if (ancestorObject != null) {
          if (newObject) {
            linkObjects(metaObject, resultMapping, ancestorObject); // issue #385
          }
        } else {
          final CacheKey rowKey = createRowKey(nestedResultMap, rsw, columnPrefix);
          final CacheKey combinedKey = combineKeys(rowKey, parentRowKey);
          Object rowValue = nestedResultObjects.get(combinedKey);
          boolean knownValue = (rowValue != null);
          instantiateCollectionPropertyIfAppropriate(resultMapping, metaObject); // mandatory            
          if (anyNotNullColumnHasValue(resultMapping, columnPrefix, rsw.getResultSet())) {
            rowValue = getRowValue(rsw, nestedResultMap, combinedKey, columnPrefix, rowValue);
            if (rowValue != null && !knownValue) {
              linkObjects(metaObject, resultMapping, rowValue);
              foundValues = true;
            }
          }
        }
      } catch (SQLException e) {
        throw new ExecutorException("Error getting nested result map values for '" + resultMapping.getProperty() + "'.  Cause: " + e, e);
      }
    }
  }
  return foundValues;
}
 
开发者ID:txazo,项目名称:mybatis,代码行数:35,代码来源:DefaultResultSetHandler.java


注:本文中的org.apache.ibatis.mapping.ResultMap.getPropertyResultMappings方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。