<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
有註釋
-- Create table create table LDMAXNO ( NOTYPE VARCHAR2(17) not null, NOLIMIT VARCHAR2(12) not null, MAXNO INTEGER not null ); -- Add comments to the table comment on table LDMAXNO is '產生最大的流水號,所有的號碼從1開始'; -- Add comments to the columns comment on column LDMAXNO.NOTYPE is '含義描述:1、號碼型別'; comment on column LDMAXNO.NOLIMIT is '含義描述:1、號碼限制條件'; comment on column LDMAXNO.MAXNO is '含義描述:1、當前最大值'; -- Create/Recreate primary, unique and foreign key constraints alter table LDMAXNO add constraint PK_LDMAXNO primary key (NOTYPE, NOLIMIT);
create or replace function CreateMaxNos(cNoType in ldmaxno.notype%type, cNoLimit in ldmaxno.nolimit%type) return integer is pragma autonomous_transaction; tMaxNo integer := 0; --初始化賦值等於0,定義返回變數 begin --最大數加1 update LDMaxNo set MaxNo = MaxNo + 1 where NoType = cNoType and NoLimit = cNoLimit Returning MaxNo Into tMaxNo; --取出最大數 If (Sql%Notfound) then --第一次向資料庫中插入最大數為 1 的記錄 Insert Into LDMaxNo (NOTYPE, NOLIMIT, MAXNO) values (cNoType, cNoLimit, 1); tMaxNo := 1; End If; commit; return(tMaxNo); --返回結果 end CreateMaxNos; /
DullMapper.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gblfy.business.mapper.DullMapper"> <select id="getMaxNo" resultType="java.lang.String"> select createmaxno(#{cNoType},#{cNoLength}) from dual </select> </mapper>
DullMapper.java
package com.gblfy.business.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; public interface DullMapper extends BaseMapper { /** * 功能:產生指定長度的流水號,一個號碼型別一個流水 * @param cNoType 流水號的型別 * @param cNoLength 流水號的長度 * @return 返回產生的流水號碼 */ String getMaxNo(@Param("cNoType") String cNoType, @Param("cNoLength") int cNoLength); }
package com.gblfy.business.service; public interface SysMaxNoService { /** * 功能:產生指定長度的流水號,一個號碼型別一個流水 * * @param cNoType 流水號的型別 * @param cNoLength 流水號的長度 * @return 返回產生的流水號碼 */ String createMaxNo(String cNoType, int cNoLength); }
package com.gblfy.business.service.impl; import com.gblfy.business.mapper.DullMapper; import com.gblfy.business.service.SysMaxNoService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigInteger; @Service public class SysMaxNoServiceImpl implements SysMaxNoService { private final static Logger logger = LoggerFactory.getLogger(SysMaxNoServiceImpl.class); @Resource private DullMapper dullMapper; /** * 功能:產生指定長度的流水號,一個號碼型別一個流水 * * @param cNoType 流水號的型別 * @param cNoLength 流水號的長度 * @return 返回產生的流水號碼 */ @Override public String createMaxNo(String cNoType, int cNoLength) { if ((cNoType == null) || (cNoType.trim().length() <= 0) || (cNoLength <= 0)) { logger.info("NoType長度錯誤 {} NoLength錯誤", cNoType, cNoLength); return null; } cNoType = cNoType.toUpperCase(); String tReturn = ""; String cNoLimit = "SN"; BigInteger tMaxNo = new BigInteger("0"); tReturn = cNoLimit; try { String result = dullMapper.getMaxNo(cNoType, cNoLength); tMaxNo = new BigInteger(result); } catch (Exception e) { e.printStackTrace(); logger.info("生成流水號出現異常,請核實!"); } String tStr = tMaxNo.toString(); //將生成的流水號進行加工處理 tStr = LCh(tStr, "0", cNoLength); tReturn = tStr.trim(); return tReturn; } /** * 將生成的流水號進行加工處理 * <p> * 1.判斷是否滿足指定長度,如果不滿足前面用0來補位 * 2.將生成的流水號進行去空格處理 * 3.將最終的流水號進行字串拼接 * </P> * * @param sourString * @param cChar * @param cLen * @return */ private String LCh(String sourString, String cChar, int cLen) { int tLen = sourString.length(); int i, iMax; String tReturn = ""; if (tLen >= cLen) { return sourString; } //1.判斷是否滿足指定長度,如果不滿足前面用0來補位 iMax = cLen - tLen; for (i = 0; i < iMax; i++) { tReturn += cChar; } //2.將生成的流水號進行去空格處理 //3.將最終的流水號進行字串拼接 tReturn = tReturn.trim() + sourString.trim(); return tReturn; } }
package com.gblfy.business.controller; import com.gblfy.business.service.SysMaxNoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** * 生成指定型別+位數的流水號 * * @Author gblfy * @Date 2022-05-16 20:13 **/ @RestController public class SysMaxNoController { @Autowired private SysMaxNoService maxNoService; /** * 生成指定型別+位數的流水號 * * @param cNoType * @param cNoLength * @return */ @GetMapping("/generate/serial/number") public String generateSerialNumber(@RequestParam(name = "cNoType", required = false, defaultValue = "cNoType") String cNoType, @RequestParam int cNoLength) { return maxNoService.createMaxNo(cNoType, cNoLength); } }
到此這篇關於oracle 指定型別和指定位數建立序列號的文章就介紹到這了,更多相關oracle建立序列號內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45