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


Java IdType类代码示例

本文整理汇总了Java中com.baomidou.mybatisplus.enums.IdType的典型用法代码示例。如果您正苦于以下问题:Java IdType类的具体用法?Java IdType怎么用?Java IdType使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: populateKeys

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
/**
 * <p>
 * 自定义元对象填充控制器
 * </p>
 *
 * @param metaObjectHandler 元数据填充处理器
 * @param tableInfo         数据库表反射信息
 * @param ms                MappedStatement
 * @param parameterObject   插入数据库对象
 * @return Object
 */
protected static Object populateKeys(MetaObjectHandler metaObjectHandler, TableInfo tableInfo,
                                     MappedStatement ms, Object parameterObject) {
    if (null == tableInfo || StringUtils.isEmpty(tableInfo.getKeyProperty()) || null == tableInfo.getIdType()) {
        /* 不处理 */
        return parameterObject;
    }
    /* 自定义元对象填充控制器 */
    MetaObject metaObject = ms.getConfiguration().newMetaObject(parameterObject);
    if (ms.getSqlCommandType() == SqlCommandType.INSERT) {
        if (IdType.ID_WORKER.equals(tableInfo.getIdType()) || IdType.UUID.equals(tableInfo.getIdType())) {
            Object idValue = metaObject.getValue(tableInfo.getKeyProperty());
            /* 自定义 ID */
            if (StringUtils.checkValNull(idValue)) {
                if (IdType.ID_WORKER.equals(tableInfo.getIdType())) {
                    metaObject.setValue(tableInfo.getKeyProperty(), IdWorker.getId());
                } else if (IdType.UUID.equals(tableInfo.getIdType())) {
                    metaObject.setValue(tableInfo.getKeyProperty(), IdWorker.get32UUID());
                }
            }
        }
        // 插入填充
        if (metaObjectHandler.openInsertFill()) {
            metaObjectHandler.insertFill(metaObject);
        }
    } else if (ms.getSqlCommandType() == SqlCommandType.UPDATE && metaObjectHandler.openUpdateFill()) {
        // 更新填充
        metaObjectHandler.updateFill(metaObject);
    }
    return metaObject.getOriginalObject();
}
 
开发者ID:Caratacus,项目名称:mybatis-plus-mini,代码行数:42,代码来源:MybatisDefaultParameterHandler.java

示例2: initTableId

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
/**
 * <p>
 * 主键属性初始化
 * </p>
 *
 * @param tableInfo
 * @param field
 * @param clazz
 * @return true 继续下一个属性判断,返回 continue;
 */
private static boolean initTableId(GlobalConfiguration globalConfig, TableInfo tableInfo, Field field, Class<?> clazz) {
    TableId tableId = field.getAnnotation(TableId.class);
    if (tableId != null) {
        if (StringUtils.isEmpty(tableInfo.getKeyColumn())) {
            /*
             * 主键策略( 注解 > 全局 > 默认 )
 */
            // 设置 Sequence 其他策略无效
            if (IdType.NONE != tableId.type()) {
                tableInfo.setIdType(tableId.type());
            } else {
                tableInfo.setIdType(globalConfig.getIdType());
            }
            
            /* 字段 */
            String column = field.getName();
            if (StringUtils.isNotEmpty(tableId.value())) {
                column = tableId.value();
                tableInfo.setKeyRelated(true);
            } else {
                // 开启字段下划线申明
                if (globalConfig.isDbColumnUnderline()) {
                    column = StringUtils.camelToUnderline(column);
                    tableInfo.setKeyRelated(true);
                }
                // 全局大写命名
                if (globalConfig.isCapitalMode()) {
                    column = column.toUpperCase();
                }
            }
            tableInfo.setKeyColumn(column);
            tableInfo.setKeyProperty(field.getName());
            return true;
        } else {
            throwExceptionId(clazz);
        }
    }
    return false;
}
 
开发者ID:Caratacus,项目名称:mybatis-plus-mini,代码行数:50,代码来源:TableInfoHelper.java

示例3: populateKeys

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
/**
 * <p>
 * 自定义元对象填充控制器
 * </p>
 *
 * @param metaObjectHandler 元数据填充处理器
 * @param tableInfo         数据库表反射信息
 * @param ms                MappedStatement
 * @param parameterObject   插入数据库对象
 * @return Object
 */
protected static Object populateKeys(MetaObjectHandler metaObjectHandler, TableInfo tableInfo,
                                     MappedStatement ms, Object parameterObject) {
    if (null == tableInfo || StringUtils.isEmpty(tableInfo.getKeyProperty()) || null == tableInfo.getIdType()) {
        /* 不处理 */
        return parameterObject;
    }
    /* 自定义元对象填充控制器 */
    MetaObject metaObject = ms.getConfiguration().newMetaObject(parameterObject);
    if (ms.getSqlCommandType() == SqlCommandType.INSERT) {
        if (tableInfo.getIdType().getKey() >= 2) {
            Object idValue = metaObject.getValue(tableInfo.getKeyProperty());
            /* 自定义 ID */
            if (StringUtils.checkValNull(idValue)) {
                if (tableInfo.getIdType() == IdType.ID_WORKER) {
                    metaObject.setValue(tableInfo.getKeyProperty(), IdWorker.getId());
                } else if (tableInfo.getIdType() == IdType.ID_WORKER_STR) {
                    metaObject.setValue(tableInfo.getKeyProperty(), IdWorker.getIdStr());
                } else if (tableInfo.getIdType() == IdType.UUID) {
                    metaObject.setValue(tableInfo.getKeyProperty(), IdWorker.get32UUID());
                }
            }
        }
        // 插入填充
        if (metaObjectHandler.openInsertFill()) {
            metaObjectHandler.insertFill(metaObject);
        }
    } else if (ms.getSqlCommandType() == SqlCommandType.UPDATE && metaObjectHandler.openUpdateFill()) {
        // 更新填充
        metaObjectHandler.updateFill(metaObject);
    }
    return metaObject.getOriginalObject();
}
 
开发者ID:baomidou,项目名称:mybatis-plus,代码行数:44,代码来源:MybatisDefaultParameterHandler.java

示例4: generateCode

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
@Test
public void generateCode() {
    String packageName = "com.baomidou.springboot";
    enableTableFieldAnnotation = false;
    tableIdType = null;
    generateByTables(packageName + ".noannoidtype", "user");
    enableTableFieldAnnotation = true;
    tableIdType = null;
    generateByTables(packageName + ".noidtype", "user");
    enableTableFieldAnnotation = false;
    tableIdType = IdType.INPUT;
    generateByTables(packageName + ".noanno", "user");
    enableTableFieldAnnotation = true;
    tableIdType = IdType.INPUT;
    generateByTables(packageName + ".both", "user");

    fieldPrefix = new String[]{"test"};
    enableTableFieldAnnotation = false;
    tableIdType = null;
    generateByTables(packageName + ".noannoidtypewithprefix", "user");
    enableTableFieldAnnotation = true;
    tableIdType = null;
    generateByTables(packageName + ".noidtypewithprefix", "user");
    enableTableFieldAnnotation = false;
    tableIdType = IdType.INPUT;
    generateByTables(packageName + ".noannowithprefix", "user");
    enableTableFieldAnnotation = true;
    tableIdType = IdType.INPUT;
    generateByTables(packageName + ".withannoidtypeprefix", "user");

    serviceClassNameStartWithI = false;
    generateByTables(packageName, "user");
}
 
开发者ID:baomidou,项目名称:mybatis-plus,代码行数:34,代码来源:CodeGeneratorTest.java

示例5: getIdType

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
public IdType getIdType() {
    return idType;
}
 
开发者ID:Caratacus,项目名称:mybatis-plus-mini,代码行数:4,代码来源:GlobalConfiguration.java

示例6: setIdType

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
public void setIdType(String idType) {
    this.idType = IdType.getIdType(idType);
}
 
开发者ID:Caratacus,项目名称:mybatis-plus-mini,代码行数:4,代码来源:GlobalConfiguration.java

示例7: setIdType

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
public void setIdType(IdType idType) {
    this.idType = idType;
}
 
开发者ID:Caratacus,项目名称:mybatis-plus-mini,代码行数:4,代码来源:TableInfo.java

示例8: getIdType

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
public static IdType getIdType(Configuration configuration) {
    return getGlobalConfig(configuration).getIdType();
}
 
开发者ID:Caratacus,项目名称:mybatis-plus-mini,代码行数:4,代码来源:GlobalConfigUtils.java

示例9: setIdType

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
public GlobalConfig setIdType(IdType idType) {
    this.idType = idType;
    return this;
}
 
开发者ID:baomidou,项目名称:mybatis-plus,代码行数:5,代码来源:GlobalConfig.java

示例10: setIdType

import com.baomidou.mybatisplus.enums.IdType; //导入依赖的package包/类
public void setIdType(int idType) {
    this.idType = IdType.getIdType(idType);
}
 
开发者ID:baomidou,项目名称:mybatis-plus,代码行数:4,代码来源:GlobalConfiguration.java


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