多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 组件源码 /** * <b>方法描述:</b> 获取序列号 <br/> * <b>创建者:</b> admin <br/> * <b>创建时间:</b> 2018-05-08 17:40:31 <br/> * * @param poolName * 入参|数据源|{@link java.lang.String} * @param seqName * 入参|序列名称|{@link java.lang.String} * @param length * 入参|所需长度,不足时左补零|{@link int} * @param seqNum * 出参|序列号|{@link java.lang.String} * @return -1 异常<br/> * 0 失败<br/> * 1 成功<br/> */ @Component(label = "获取序列号", style = "判断型", type = "同步组件", comment = "获取序列号,支持Oracle/DB2/Informix三种数据库.所需长度小于数据库取出序列号时从左边截取,返回右边剩余满足条件序列号,当所需长度大于数据库取出序列时,左补零后返回", version = "1.0.0", deprecated = false, author = "admin", date = "2018-05-08 05:40:31") @InParams(param = { @Param(name = "poolName", comment = "数据源", type = java.lang.String.class), @Param(name = "seqName", comment = "序列名称", type = java.lang.String.class), @Param(name = "length", comment = "所需长度,不足时左补零", type = int.class) }) @OutParams(param = { @Param(name = "seqNum", comment = "序列号", type = java.lang.String.class) }) @Returns(returns = { @Return(id = "-1", desp = "异常"), @Return(id = "0", desp = "失败"), @Return(id = "1", desp = "成功") }) public static ResultBase P_getSeqNum(String poolName, String seqName, int length) { if ("".equals(seqName) || seqName == null) { return ResultBase.newFailureResult("TPTJ0020", "入参序列名称不能为空"); } String sqlNum = null; try { sqlNum = JdbcUtil.getSequence(poolName, seqName, length); } catch (Exception e) { AppLog.error(e); return ResultBase.newExceptionResult("TPTJ0021", "获取序号值数据库异常:" + AppLog.errorMsg(e)); } return ResultBase.newSuccessResult(sqlNum); } 交易中组件使用方式: ![](https://img.kancloud.cn/28/5a/285a17e8222e90aefa6a23240ec15cc6_1657x1167.png) 数据源的来源为项目的配置文件中的数据源,以及前端页面上的数据源管理列表中添加的数据源 ## 参数说明及示例 序列名称:Oracle/DB2/Informix三种数据库中的序列名称,示例: `"sys_user_index"` 所需长度,不足时左补零:返回的序列值长度,当数据库给出的结果不够长度时,程序左补零,示例: `5` 序列号:返回的序列号,示例: `__INNER__["index"]`,如返回结果的值为32,但是入参处填写的所需长度为5,则会在结果前补上3个0,最终的值则为00032 > 注意:填写值如果是String字符串,则需要在前后加上英文双引号"",如果是数字或者boolean值,则不需要