Search in sources :

Example 1 with Result

use of org.apache.ibatis.annotations.Result in project mybatis-3 by mybatis.

the class MapperAnnotationBuilder method applyResults.

private void applyResults(Result[] results, Class<?> resultType, List<ResultMapping> resultMappings) {
    for (Result result : results) {
        List<ResultFlag> flags = new ArrayList<>();
        if (result.id()) {
            flags.add(ResultFlag.ID);
        }
        @SuppressWarnings("unchecked") Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) ((result.typeHandler() == UnknownTypeHandler.class) ? null : result.typeHandler());
        boolean hasNestedResultMap = hasNestedResultMap(result);
        ResultMapping resultMapping = assistant.buildResultMapping(resultType, nullOrEmpty(result.property()), nullOrEmpty(result.column()), result.javaType() == void.class ? null : result.javaType(), result.jdbcType() == JdbcType.UNDEFINED ? null : result.jdbcType(), hasNestedSelect(result) ? nestedSelectId(result) : null, hasNestedResultMap ? nestedResultMapId(result) : null, null, hasNestedResultMap ? findColumnPrefix(result) : null, typeHandler, flags, null, null, isLazy(result));
        resultMappings.add(resultMapping);
    }
}
Also used : ResultMapping(org.apache.ibatis.mapping.ResultMapping) ArrayList(java.util.ArrayList) ResultFlag(org.apache.ibatis.mapping.ResultFlag) TypeHandler(org.apache.ibatis.type.TypeHandler) UnknownTypeHandler(org.apache.ibatis.type.UnknownTypeHandler) Result(org.apache.ibatis.annotations.Result)

Example 2 with Result

use of org.apache.ibatis.annotations.Result in project mybatis-3 by mybatis.

the class MapperAnnotationBuilder method parseResultMap.

private String parseResultMap(Method method) {
    Class<?> returnType = getReturnType(method);
    Arg[] args = method.getAnnotationsByType(Arg.class);
    Result[] results = method.getAnnotationsByType(Result.class);
    TypeDiscriminator typeDiscriminator = method.getAnnotation(TypeDiscriminator.class);
    String resultMapId = generateResultMapName(method);
    applyResultMap(resultMapId, returnType, args, results, typeDiscriminator);
    return resultMapId;
}
Also used : TypeDiscriminator(org.apache.ibatis.annotations.TypeDiscriminator) Arg(org.apache.ibatis.annotations.Arg) Result(org.apache.ibatis.annotations.Result)

Aggregations

Result (org.apache.ibatis.annotations.Result)2 ArrayList (java.util.ArrayList)1 Arg (org.apache.ibatis.annotations.Arg)1 TypeDiscriminator (org.apache.ibatis.annotations.TypeDiscriminator)1 ResultFlag (org.apache.ibatis.mapping.ResultFlag)1 ResultMapping (org.apache.ibatis.mapping.ResultMapping)1 TypeHandler (org.apache.ibatis.type.TypeHandler)1 UnknownTypeHandler (org.apache.ibatis.type.UnknownTypeHandler)1