Example usage for org.apache.ibatis.type JdbcType UNDEFINED

List of usage examples for org.apache.ibatis.type JdbcType UNDEFINED

Introduction

In this page you can find the example usage for org.apache.ibatis.type JdbcType UNDEFINED.

Prototype

JdbcType UNDEFINED

To view the source code for org.apache.ibatis.type JdbcType UNDEFINED.

Click Source Link

Usage

From source file:com.baomidou.mybatisplus.MybatisMapperAnnotationBuilder.java

License:Apache License

private Discriminator applyDiscriminator(String resultMapId, Class<?> resultType,
        TypeDiscriminator discriminator) {
    if (discriminator != null) {
        String column = discriminator.column();
        Class<?> javaType = discriminator.javaType() == void.class ? String.class : discriminator.javaType();
        JdbcType jdbcType = discriminator.jdbcType() == JdbcType.UNDEFINED ? null : discriminator.jdbcType();
        @SuppressWarnings("unchecked")
        Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) (discriminator
                .typeHandler() == UnknownTypeHandler.class ? null : discriminator.typeHandler());
        Case[] cases = discriminator.cases();
        Map<String, String> discriminatorMap = new HashMap<>();
        for (Case c : cases) {
            String value = c.value();
            String caseResultMapId = resultMapId + "-" + value;
            discriminatorMap.put(value, caseResultMapId);
        }//ww  w  . jav a2s. c om
        return assistant.buildDiscriminator(resultType, column, javaType, jdbcType, typeHandler,
                discriminatorMap);
    }
    return null;
}

From source file:com.baomidou.mybatisplus.MybatisMapperAnnotationBuilder.java

License:Apache License

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);/*from ww  w.  j  a v  a 2 s. c  o m*/
        }
        @SuppressWarnings("unchecked")
        Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) ((result
                .typeHandler() == UnknownTypeHandler.class) ? null : result.typeHandler());
        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, null, null, null, typeHandler, flags,
                null, null, isLazy(result));
        resultMappings.add(resultMapping);
    }
}

From source file:com.baomidou.mybatisplus.MybatisMapperAnnotationBuilder.java

License:Apache License

private void applyConstructorArgs(Arg[] args, Class<?> resultType, List<ResultMapping> resultMappings) {
    for (Arg arg : args) {
        List<ResultFlag> flags = new ArrayList<>();
        flags.add(ResultFlag.CONSTRUCTOR);
        if (arg.id()) {
            flags.add(ResultFlag.ID);/*from   w  w  w.ja  v  a  2 s  .  c o  m*/
        }
        @SuppressWarnings("unchecked")
        Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) (arg
                .typeHandler() == UnknownTypeHandler.class ? null : arg.typeHandler());
        ResultMapping resultMapping = assistant.buildResultMapping(resultType, nullOrEmpty(arg.name()),
                nullOrEmpty(arg.column()), arg.javaType() == void.class ? null : arg.javaType(),
                arg.jdbcType() == JdbcType.UNDEFINED ? null : arg.jdbcType(), nullOrEmpty(arg.select()),
                nullOrEmpty(arg.resultMap()), null, null, typeHandler, flags, null, null, false);
        resultMappings.add(resultMapping);
    }
}

From source file:com.czy.core.orm.sql.helper.EntityHelper.java

License:Open Source License

/**
 * ?ColumnType//from ww w .j  a  v a2 s. co  m
 * @param field
 * @param entityColumn
 * @param columnName
 */
private static String dealColumnType(EntityField field, EntityColumn entityColumn, String columnName,
        Style style) {
    if (field.isAnnotationPresent(ColumnType.class)) {
        ColumnType columnType = field.getAnnotation(ColumnType.class);
        //column???
        if (SqlStringUtil.isEmpty(columnName) && SqlStringUtil.isNotEmpty(columnType.column())) {
            columnName = columnType.column();
        }
        if (columnType.jdbcType() != JdbcType.UNDEFINED) {
            entityColumn.setJdbcType(columnType.jdbcType());
        }
        if (columnType.typeHandler() != UnknownTypeHandler.class) {
            entityColumn.setTypeHandler(columnType.typeHandler());
        }
    }
    if (field.getJavaType() == java.lang.String.class) {
        if (entityColumn.getJdbcType() == null) {
            entityColumn.setJdbcType(JdbcType.VARCHAR);
        }
    }
    //?????
    if (SqlStringUtil.isEmpty(columnName)) {
        columnName = SqlStringUtil.convertByStyle(field.getName(), style);
    }
    return columnName;
}

From source file:com.hand.hap.mybatis.mapperhelper.EntityHelper.java

License:Open Source License

/**
 * ?//  w  w w .j av  a  2s. c om
 *
 * @param entityTable
 * @param style
 * @param field
 */
private static void processField(EntityTable entityTable, Style style, EntityField field) {
    //
    if (field.isAnnotationPresent(Transient.class)) {
        return;
    }
    //Id
    EntityColumn entityColumn = new EntityColumn(entityTable);
    if (field.isAnnotationPresent(Id.class)) {
        entityColumn.setId(true);
    }
    //Column
    String columnName = null;
    if (field.isAnnotationPresent(Column.class)) {
        Column column = field.getAnnotation(Column.class);
        columnName = column.name();
        entityColumn.setUpdatable(column.updatable());
        entityColumn.setInsertable(column.insertable());
    }
    //ColumnType
    if (field.isAnnotationPresent(ColumnType.class)) {
        ColumnType columnType = field.getAnnotation(ColumnType.class);
        //column???
        if (StringUtil.isEmpty(columnName) && StringUtil.isNotEmpty(columnType.column())) {
            columnName = columnType.column();
        }
        if (columnType.jdbcType() != JdbcType.UNDEFINED) {
            entityColumn.setJdbcType(columnType.jdbcType());
        }
        if (columnType.typeHandler() != UnknownTypeHandler.class) {
            entityColumn.setTypeHandler(columnType.typeHandler());
        }
    }
    //??
    if (StringUtil.isEmpty(columnName)) {
        columnName = StringUtil.convertByStyle(field.getName(), style);
    }
    entityColumn.setProperty(field.getName());
    entityColumn.setColumn(columnName);
    entityColumn.setJavaType(field.getJavaType());
    //OrderBy
    if (field.isAnnotationPresent(OrderBy.class)) {
        OrderBy orderBy = field.getAnnotation(OrderBy.class);
        if (orderBy.value().equals("")) {
            entityColumn.setOrderBy("ASC");
        } else {
            entityColumn.setOrderBy(orderBy.value());
        }
    }
    // - Oracle?MySqlUUID
    if (field.isAnnotationPresent(SequenceGenerator.class)) {
        SequenceGenerator sequenceGenerator = field.getAnnotation(SequenceGenerator.class);
        if (sequenceGenerator.sequenceName().equals("")) {
            throw new RuntimeException(entityTable.getEntityClass() + "" + field.getName()
                    + "@SequenceGeneratorsequenceName!");
        }
        entityColumn.setSequenceName(sequenceGenerator.sequenceName());
    } else if (field.isAnnotationPresent(GeneratedValue.class)) {
        GeneratedValue generatedValue = field.getAnnotation(GeneratedValue.class);
        String generator = generatedValue.generator();
        if ("UUID".equals(generator)) {
            entityColumn.setUuid(true);
        } else if ("JDBC".equals(generator)) {
            entityColumn.setIdentity(true);
            entityColumn.setGenerator(generator);
            entityTable.setKeyProperties(entityColumn.getProperty());
            entityTable.setKeyColumns(entityColumn.getColumn());
        } else if ("SEQUENCE".equals(generator)) {
            // add by jessen, oracle sequence
            entityColumn.setIdentity(true);
            entityColumn.setGenerator(generator);
            entityTable.setKeyProperties(entityColumn.getProperty());
            entityTable.setKeyColumns(entityColumn.getColumn());
        } else if ("IDENTITY".equals(generator) || "".equals(generator)) {
            // add by jessen, use config IDENTITY
            entityColumn.setIdentity(true);
            entityColumn.setGenerator("IDENTITY");
            entityTable.setKeyProperties(entityColumn.getProperty());
            entityTable.setKeyColumns(entityColumn.getColumn());
        } else {
            //?generator??idsql,mysql=CALL IDENTITY(),hsqldb=SELECT SCOPE_IDENTITY()
            //??generator
            if (generatedValue.strategy() == GenerationType.IDENTITY) {
                //mysql
                entityColumn.setIdentity(true);
                if (!"".equals(generator)) {
                    IdentityDialect identityDialect = IdentityDialect.getDatabaseDialect(generator);
                    if (identityDialect != null) {
                        generator = identityDialect.getIdentityRetrievalStatement();
                    }
                    entityColumn.setGenerator(generator);
                }
            } else {
                throw new RuntimeException(field.getName()
                        + " - @GeneratedValue?????:"
                        + "\n1.?@GeneratedValue(generator=\"UUID\")"
                        + "\n2.useGeneratedKeys@GeneratedValue(generator=\"JDBC\")  "
                        + "\n3.useGeneratedKeys@GeneratedValue(generator=\"SEQUENCE\")  "
                        + "\n4.mysql?@GeneratedValue(strategy=GenerationType.IDENTITY[,generator=\"Mysql\"])");
            }
        }
    }
    if (field.isAnnotationPresent(MultiLanguageField.class)) {
        // add by jessen
        entityColumn.setMultiLanguageField(true);
    }
    // add by jessen
    entityColumn.setCondition(field.getAnnotation(Condition.class));

    entityTable.getEntityClassColumns().add(entityColumn);
    if (entityColumn.isId()) {
        entityTable.getEntityClassPKColumns().add(entityColumn);
    }
}

From source file:com.mybatisX.core.MybatisMapperAnnotationBuilder.java

License:Apache License

private Discriminator applyDiscriminator(String resultMapId, Class<?> resultType,
        TypeDiscriminator discriminator) {
    if (discriminator != null) {
        String column = discriminator.column();
        Class<?> javaType = discriminator.javaType() == void.class ? String.class : discriminator.javaType();
        JdbcType jdbcType = discriminator.jdbcType() == JdbcType.UNDEFINED ? null : discriminator.jdbcType();
        @SuppressWarnings("unchecked")
        Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) (discriminator
                .typeHandler() == UnknownTypeHandler.class ? null : discriminator.typeHandler());
        Case[] cases = discriminator.cases();
        Map<String, String> discriminatorMap = new HashMap<String, String>();
        for (Case c : cases) {
            String value = c.value();
            String caseResultMapId = resultMapId + "-" + value;
            discriminatorMap.put(value, caseResultMapId);
        }//  w w  w . j a v a  2  s .co m
        return assistant.buildDiscriminator(resultType, column, javaType, jdbcType, typeHandler,
                discriminatorMap);
    }
    return null;
}

From source file:com.mybatisX.core.MybatisMapperAnnotationBuilder.java

License:Apache License

private void applyResults(Result[] results, Class<?> resultType, List<ResultMapping> resultMappings) {
    for (Result result : results) {
        List<ResultFlag> flags = new ArrayList<ResultFlag>();
        if (result.id()) {
            flags.add(ResultFlag.ID);//from w  ww .  ja v  a 2  s.  com
        }
        @SuppressWarnings("unchecked")
        Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) ((result
                .typeHandler() == UnknownTypeHandler.class) ? null : result.typeHandler());
        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, null, null, null, typeHandler, flags,
                null, null, isLazy(result));
        resultMappings.add(resultMapping);
    }
}

From source file:com.mybatisX.core.MybatisMapperAnnotationBuilder.java

License:Apache License

private void applyConstructorArgs(Arg[] args, Class<?> resultType, List<ResultMapping> resultMappings) {
    for (Arg arg : args) {
        List<ResultFlag> flags = new ArrayList<ResultFlag>();
        flags.add(ResultFlag.CONSTRUCTOR);
        if (arg.id()) {
            flags.add(ResultFlag.ID);/*from w w  w  .j a v  a 2s .  co  m*/
        }
        @SuppressWarnings("unchecked")
        Class<? extends TypeHandler<?>> typeHandler = (Class<? extends TypeHandler<?>>) (arg
                .typeHandler() == UnknownTypeHandler.class ? null : arg.typeHandler());
        ResultMapping resultMapping = assistant.buildResultMapping(resultType, null, nullOrEmpty(arg.column()),
                arg.javaType() == void.class ? null : arg.javaType(),
                arg.jdbcType() == JdbcType.UNDEFINED ? null : arg.jdbcType(), nullOrEmpty(arg.select()),
                nullOrEmpty(arg.resultMap()), null, null, typeHandler, flags, null, null, false);
        resultMappings.add(resultMapping);
    }
}

From source file:com.noasking.mapper.mapperhelper.EntityHelper.java

License:Open Source License

/**
 * ?// w w w. jav  a2 s . c o  m
 *
 * @param entityTable
 * @param style
 * @param field
 */
private static void processField(EntityTable entityTable, Style style, EntityField field) {
    //
    if (field.isAnnotationPresent(Transient.class)) {
        return;
    }
    //Id
    EntityColumn entityColumn = new EntityColumn(entityTable);
    if (field.isAnnotationPresent(Id.class)) {
        entityColumn.setId(true);
    }
    //Column
    String columnName = null;
    if (field.isAnnotationPresent(Column.class)) {
        Column column = field.getAnnotation(Column.class);
        columnName = column.name();
        entityColumn.setUpdatable(column.updatable());
        entityColumn.setInsertable(column.insertable());
    }
    //ColumnType
    if (field.isAnnotationPresent(ColumnType.class)) {
        ColumnType columnType = field.getAnnotation(ColumnType.class);
        //column???
        if (StringUtil.isEmpty(columnName) && StringUtil.isNotEmpty(columnType.column())) {
            columnName = columnType.column();
        }
        if (columnType.jdbcType() != JdbcType.UNDEFINED) {
            entityColumn.setJdbcType(columnType.jdbcType());
        }
        if (columnType.typeHandler() != UnknownTypeHandler.class) {
            entityColumn.setTypeHandler(columnType.typeHandler());
        }
    }
    //??
    if (StringUtil.isEmpty(columnName)) {
        columnName = StringUtil.convertByStyle(field.getName(), style);
    }
    entityColumn.setProperty(field.getName());
    entityColumn.setColumn(columnName);
    entityColumn.setJavaType(field.getJavaType());
    //OrderBy
    if (field.isAnnotationPresent(OrderBy.class)) {
        OrderBy orderBy = field.getAnnotation(OrderBy.class);
        if (orderBy.value().equals("")) {
            entityColumn.setOrderBy("ASC");
        } else {
            entityColumn.setOrderBy(orderBy.value());
        }
    }
    // - Oracle?MySqlUUID
    if (field.isAnnotationPresent(SequenceGenerator.class)) {
        SequenceGenerator sequenceGenerator = field.getAnnotation(SequenceGenerator.class);
        if (sequenceGenerator.sequenceName().equals("")) {
            throw new RuntimeException(entityTable.getEntityClass() + "" + field.getName()
                    + "@SequenceGeneratorsequenceName!");
        }
        entityColumn.setSequenceName(sequenceGenerator.sequenceName());
    } else if (field.isAnnotationPresent(GeneratedValue.class)) {
        GeneratedValue generatedValue = field.getAnnotation(GeneratedValue.class);
        if (generatedValue.generator().equals("UUID")) {
            entityColumn.setUuid(true);
        } else if (generatedValue.generator().equals("JDBC")) {
            entityColumn.setIdentity(true);
            entityColumn.setGenerator("JDBC");
            entityTable.setKeyProperties(entityColumn.getProperty());
            entityTable.setKeyColumns(entityColumn.getColumn());
        } else {
            //?generator??idsql,mysql=CALL IDENTITY(),hsqldb=SELECT SCOPE_IDENTITY()
            //??generator
            if (generatedValue.strategy() == GenerationType.IDENTITY) {
                //mysql
                entityColumn.setIdentity(true);
                if (!generatedValue.generator().equals("")) {
                    String generator = null;
                    IdentityDialect identityDialect = IdentityDialect
                            .getDatabaseDialect(generatedValue.generator());
                    if (identityDialect != null) {
                        generator = identityDialect.getIdentityRetrievalStatement();
                    } else {
                        generator = generatedValue.generator();
                    }
                    entityColumn.setGenerator(generator);
                }
            } else {
                throw new RuntimeException(field.getName()
                        + " - @GeneratedValue?????:"
                        + "\n1.?@GeneratedValue(generator=\"UUID\")"
                        + "\n2.useGeneratedKeys@GeneratedValue(generator=\\\"JDBC\\\")  "
                        + "\n3.mysql?@GeneratedValue(strategy=GenerationType.IDENTITY[,generator=\"Mysql\"])");
            }
        }
    }
    entityTable.getEntityClassColumns().add(entityColumn);
    if (entityColumn.isId()) {
        entityTable.getEntityClassPKColumns().add(entityColumn);
    }
}

From source file:com.sinotopia.mybatis.mapper.mapperhelper.EntityHelper.java

License:Open Source License

/**
 * ?//from   w  w w. j  a  v  a2  s. co m
 *
 * @param entityTable
 * @param style
 * @param field
 */
private static void processField(EntityTable entityTable, Style style, EntityField field) {
    //
    if (field.isAnnotationPresent(Transient.class)) {
        return;
    }
    //Id
    EntityColumn entityColumn = new EntityColumn(entityTable);
    if (field.isAnnotationPresent(Id.class)) {
        entityColumn.setId(true);
    }
    //Column
    String columnName = null;
    if (field.isAnnotationPresent(Column.class)) {
        Column column = field.getAnnotation(Column.class);
        columnName = column.name();
        entityColumn.setUpdatable(column.updatable());
        entityColumn.setInsertable(column.insertable());
    }
    //ColumnType
    if (field.isAnnotationPresent(ColumnType.class)) {
        ColumnType columnType = field.getAnnotation(ColumnType.class);
        //column???
        if (StringUtil.isEmpty(columnName) && StringUtil.isNotEmpty(columnType.column())) {
            columnName = columnType.column();
        }
        if (columnType.jdbcType() != JdbcType.UNDEFINED) {
            entityColumn.setJdbcType(columnType.jdbcType());
        }
        if (columnType.typeHandler() != UnknownTypeHandler.class) {
            entityColumn.setTypeHandler(columnType.typeHandler());
        }
    }
    //??
    if (StringUtil.isEmpty(columnName)) {
        columnName = StringUtil.convertByStyle(field.getName(), style);
    }
    entityColumn.setProperty(field.getName());
    entityColumn.setColumn(columnName);
    entityColumn.setJavaType(field.getJavaType());
    //OrderBy
    if (field.isAnnotationPresent(OrderBy.class)) {
        OrderBy orderBy = field.getAnnotation(OrderBy.class);
        if (orderBy.value().equals("")) {
            entityColumn.setOrderBy("ASC");
        } else {
            entityColumn.setOrderBy(orderBy.value());
        }
    }
    // - Oracle?MySqlUUID
    if (field.isAnnotationPresent(SequenceGenerator.class)) {
        SequenceGenerator sequenceGenerator = field.getAnnotation(SequenceGenerator.class);
        if (sequenceGenerator.sequenceName().equals("")) {
            throw new MapperException(entityTable.getEntityClass() + "" + field.getName()
                    + "@SequenceGeneratorsequenceName!");
        }
        entityColumn.setSequenceName(sequenceGenerator.sequenceName());
    } else if (field.isAnnotationPresent(GeneratedValue.class)) {
        GeneratedValue generatedValue = field.getAnnotation(GeneratedValue.class);
        if (generatedValue.generator().equals("UUID")) {
            entityColumn.setUuid(true);
        } else if (generatedValue.generator().equals("JDBC")) {
            entityColumn.setIdentity(true);
            entityColumn.setGenerator("JDBC");
            entityTable.setKeyProperties(entityColumn.getProperty());
            entityTable.setKeyColumns(entityColumn.getColumn());
        } else {
            //?generator??idsql,mysql=CALL IDENTITY(),hsqldb=SELECT SCOPE_IDENTITY()
            //??generator
            if (generatedValue.strategy() == GenerationType.IDENTITY) {
                //mysql
                entityColumn.setIdentity(true);
                if (!generatedValue.generator().equals("")) {
                    String generator = null;
                    IdentityDialect identityDialect = IdentityDialect
                            .getDatabaseDialect(generatedValue.generator());
                    if (identityDialect != null) {
                        generator = identityDialect.getIdentityRetrievalStatement();
                    } else {
                        generator = generatedValue.generator();
                    }
                    entityColumn.setGenerator(generator);
                }
            } else {
                throw new MapperException(field.getName()
                        + " - @GeneratedValue?????:"
                        + "\n1.?@GeneratedValue(generator=\"UUID\")"
                        + "\n2.useGeneratedKeys@GeneratedValue(generator=\\\"JDBC\\\")  "
                        + "\n3.mysql?@GeneratedValue(strategy=GenerationType.IDENTITY[,generator=\"Mysql\"])");
            }
        }
    }
    entityTable.getEntityClassColumns().add(entityColumn);
    if (entityColumn.isId()) {
        entityTable.getEntityClassPKColumns().add(entityColumn);
    }
}