日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

oracle 指定類型和指定位數(shù)創(chuàng)建序列號的代碼詳解

瀏覽:227日期:2023-03-12 15:25:06
目錄
  • 一、腳本部分
    • 1. 表結(jié)構(gòu)
    • 2. 函數(shù)
  • 二、代碼部分
    • 2.1. xml
    • 2.2. 接口
    • 2.3. api接口
    • 2.4. api實例
    • 2.5. 控制層
  • 三、測試
    • 3.1. 效果圖

一、腳本部分

1. 表結(jié)構(gòu)

有注釋

-- Create tablecreate 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 "產(chǎn)生最大的流水號,所有的號碼從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、當(dāng)前最大值";-- Create/Recreate primary, unique and foreign key constraints alter table LDMAXNO  add constraint PK_LDMAXNO primary key (NOTYPE, NOLIMIT);

2. 函數(shù)

  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  --最大數(shù)加1  update LDMaxNo     set MaxNo = MaxNo + 1   where NoType = cNoType     and NoLimit = cNoLimit  Returning MaxNo Into tMaxNo; --取出最大數(shù)  If (Sql%Notfound) then    --第一次向數(shù)據(jù)庫中插入最大數(shù)為 1 的記錄    Insert Into LDMaxNo      (NOTYPE, NOLIMIT, MAXNO)    values      (cNoType, cNoLimit, 1);    tMaxNo := 1;  End If;  commit;  return(tMaxNo); --返回結(jié)果end CreateMaxNos;/

二、代碼部分

2.1. xml

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>

2.2. 接口

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 {    /**     * 功能:產(chǎn)生指定長度的流水號,一個號碼類型一個流水     * @param cNoType 流水號的類型     * @param cNoLength 流水號的長度     * @return 返回產(chǎn)生的流水號碼     */    String getMaxNo(@Param("cNoType") String cNoType, @Param("cNoLength") int cNoLength);}

2.3. api接口

package com.gblfy.business.service;public interface SysMaxNoService {    /**     * 功能:產(chǎn)生指定長度的流水號,一個號碼類型一個流水     *     * @param cNoType   流水號的類型     * @param cNoLength 流水號的長度     * @return 返回產(chǎn)生的流水號碼     */    String createMaxNo(String cNoType, int cNoLength);}

2.4. api實例

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;@Servicepublic class SysMaxNoServiceImpl implements SysMaxNoService {    private final static Logger logger = LoggerFactory.getLogger(SysMaxNoServiceImpl.class);    @Resource    private DullMapper dullMapper;    /**     * 功能:產(chǎn)生指定長度的流水號,一個號碼類型一個流水     *     * @param cNoType   流水號的類型     * @param cNoLength 流水號的長度     * @return 返回產(chǎn)生的流水號碼     */    @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("生成流水號出現(xiàn)異常,請核實!");}String tStr = tMaxNo.toString();//將生成的流水號進(jìn)行加工處理tStr = LCh(tStr, "0", cNoLength);tReturn = tStr.trim();return tReturn;    }    /**     * 將生成的流水號進(jìn)行加工處理     * <p>     * 1.判斷是否滿足指定長度,如果不滿足前面用0來補(bǔ)位     * 2.將生成的流水號進(jìn)行去空格處理     * 3.將最終的流水號進(jìn)行字符串拼接     * </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來補(bǔ)位iMax = cLen - tLen;for (i = 0; i < iMax; i++) {    tReturn += cChar;}//2.將生成的流水號進(jìn)行去空格處理//3.將最終的流水號進(jìn)行字符串拼接tReturn = tReturn.trim() + sourString.trim();return tReturn;    }}

2.5. 控制層

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;/** * 生成指定類型+位數(shù)的流水號 * * @Author gblfy * @Date 2022-05-16 20:13 **/@RestControllerpublic class SysMaxNoController {    @Autowired    private SysMaxNoService maxNoService;    /**     * 生成指定類型+位數(shù)的流水號     *     * @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);    }}

三、測試

3.1. 效果圖

到此這篇關(guān)于oracle 指定類型和指定位數(shù)創(chuàng)建序列號的文章就介紹到這了,更多相關(guān)oracle創(chuàng)建序列號內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Oracle
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费一级欧美片在线观看网站| 99视频在线精品国自产拍免费观看| 国产中文一区| 亚洲日韩视频| 久久高清免费| 色一区二区三区| 精品视频一区二区三区在线观看 | 欧美三级第一页| 91精品亚洲| 激情综合网址| 欧美日韩精品免费观看视欧美高清免费大片| 国产精品久久久免费| 国产剧情一区二区在线观看| 日本久久成人网| 亚洲精品国产精品粉嫩| 久久久精品五月天| 精品国产欧美| 精品久久久亚洲| 国产精品v亚洲精品v日韩精品| 免费观看在线综合| 黄色成人精品网站| 99国产精品自拍| 亚洲字幕久久| 综合激情婷婷| 国产videos久久| 国产亚洲电影| 日韩激情精品| 日韩高清不卡一区二区| 欧美aa在线观看| 1000部精品久久久久久久久| 久久精品1区| 日韩欧美三级| 美女精品一区二区| 免费观看久久av| 免费不卡在线视频| 岛国av在线网站| 亚洲精品亚洲人成在线观看| 嫩草伊人久久精品少妇av杨幂| 亚洲国产专区| 亚洲开心激情| 久久精品电影| 久久精品一区二区三区中文字幕| 狠狠久久婷婷| 天堂√8在线中文| 国产精品**亚洲精品| 欧美特黄一区| 99亚洲视频| 喷白浆一区二区| 日韩精品三级| 国产欧美一区二区三区国产幕精品| 久久国产99| 欧美精品羞羞答答| 极品日韩av| 在线一区电影| 婷婷六月综合| 亚洲一区二区三区高清不卡| 国产精品v亚洲精品v日韩精品| 日本天堂一区| 亚洲国产福利| 亚洲精品激情| 国产综合亚洲精品一区二| 欧美久久一区二区三区| 久久精品国产www456c0m| 蜜桃久久av一区| se01亚洲视频| 加勒比视频一区| 国产精品资源| 免费日韩av| 综合激情在线| 亚洲毛片一区| 久久a爱视频| 国产精品亚洲产品| 欧美日韩xxxx| 国产劲爆久久| 久久国产精品久久久久久电车| 国产精品久久久久av电视剧| 人在线成免费视频| 亚洲乱亚洲高清| 黑森林国产精品av| 久久高清国产| 欧美日韩网址| 国产亚洲永久域名| 欧美日韩一区二区三区在线电影| 久久九九99| 国产亚洲一卡2卡3卡4卡新区| 神马午夜在线视频| 91麻豆国产自产在线观看亚洲| 日韩激情精品| 中文精品电影| 福利一区二区| 蜜臀av在线播放一区二区三区| 91精品xxx在线观看| 国产精品第一国产精品| 国产精品久久久亚洲一区| 红杏一区二区三区| 福利在线免费视频| 欧美丰满日韩| 91精品成人| 中文亚洲欧美| 国产乱人伦精品一区| 肉色欧美久久久久久久免费看| 欧美日韩高清| 亚洲免费资源| 亚洲电影在线一区二区三区| 欧美精品福利| 国产精品嫩模av在线| 中文在线资源| 亚洲第一精品影视| 蜜臀av在线播放一区二区三区| 日韩激情一二三区| 日本欧美一区二区在线观看| 精品久久影院| 蜜桃视频第一区免费观看| 国产精品色在线网站| 久久精品123| 国产欧美亚洲一区| 欧美在线网站| 久久久久久婷| 日韩精品一区二区三区中文| 国产黄大片在线观看| 亚洲精品一二三**| 亚洲五月婷婷| 精品资源在线| 人人爱人人干婷婷丁香亚洲| 亚洲精品97| 精品国产午夜| 国产精品一区二区三区av麻| 黄色亚洲大片免费在线观看| 美女av在线免费看| 久久久精品国产**网站| 日韩久久99| 蜜芽一区二区三区| 极品裸体白嫩激情啪啪国产精品| av免费不卡国产观看| 在线国产一区二区| 欧美性感美女一区二区| 久久国产精品亚洲77777| 日韩av午夜在线观看| 麻豆精品91| 亚洲精品黄色| 国产精品久久久久久av公交车| 久久精品国产亚洲一区二区三区| 亚洲人成在线网站| 黄色在线观看www| 欧美69视频| 女主播福利一区| 亚洲精品在线二区| 日韩欧美三区| 久久av影院| 国产精品igao视频网网址不卡日韩| 欧美一区成人| 国产精品久久久亚洲一区| 国产精品成人a在线观看| 欧美不卡高清一区二区三区| 最新亚洲一区| 午夜久久av| 国产一区二区三区日韩精品| 91亚洲自偷观看高清| 黄色在线一区| 久久一区欧美| 亚洲少妇在线| 精品国产乱码久久久久久1区2匹| 欧美粗暴jizz性欧美20| 在线免费观看亚洲| 91亚洲国产成人久久精品| 美女国产精品| 亚洲91精品| 日本v片在线高清不卡在线观看| 欧美国产日韩电影| 国产精品多人| 国产精一区二区| 91亚洲精品在看在线观看高清 | 免费日韩av片| 美女网站一区| 国产亚洲电影| 午夜久久av| 中文精品视频| 日韩av片子| 日韩高清一区在线| 91欧美极品| 亚洲精品网址| 国产精品成人a在线观看| 亚洲我射av| 亚洲电影在线| 亚州av日韩av| 99在线|亚洲一区二区| 吉吉日韩欧美| 麻豆精品蜜桃视频网站| 亚洲视频二区| 91精品高清| 久久久人人人| 日韩毛片视频| 日本精品在线中文字幕| 国产成人精品福利| 日韩精品久久理论片| 国产毛片久久| 亚洲欧美日本视频在线观看| 欧美理论视频| 热久久久久久久| 美女精品在线|