生成流水单号是在java代码中生成好还是直接从数据库中生成?
     之前项目中用的oracle数据库,用sequence生成流水号。现在用mysql,没有

sequence,那么,如果生成流水号的话,是自己建表写函数直接生成流水号好。还是在后台写个java方法用synchronize锁上生成流水号好?

0

4个回答

只要不会产生重复的流水号,哪里产生的无所谓。

0

流水号有特殊格式要求的,在java代码中生成更灵活。若无要求,在数据库中生成更好,更能保证数据的一致性。

0

我们做的项目都是在java代码中生成的

0

如果流水号信息有一定的业务需求规则的话,还是后台java自己生成的比较好。如果没有要求的话,数据库的sequence生成比较简单。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java--流水订单号编写Demo
简介:本文将使用Java中String.format()函数、Date()类进行编写流水订单号。关于String.format()函数的相关知识,可参考我的博客: Java--String.format()函数博客收录示例代码如下:package com.example.test; import java.text.SimpleDateFormat; import java.util.Date;...
Java流水生成工具
package com.serialnumber; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.lang.RandomStringUtils; /** * @ClassName: SerialNumber.java * * @Description: 流水生成工具
每天生成流水码
CREATE  PROCEDURE [dbo].[WF_AUTOBH]     @wfid  int,     @modname  varchar(20),     @modbh varchar(20) out as     SET TRANSACTION ISOLATION LEVEL  SERIALIZABLE     BEGIN TRANSACTION     declare
Java生成NO201601270001这样的流水编号
首先从数据库查询出已有的最大编号 拼成NO+当前时间格式的字符串 判断最大编号是否存在,最大编号中是否包含当天时间 如果最大编号不存在,则直接生成第一个编号NO201601270001 如果最大编号存在且包涵当天时间,则给最大编号加1,拼成编码 具体代码实现如下: public class Main { public static void main(String args[]) {
用redis生成流水单号
package com.service; import com.syn.utils.JedisUtil; import java.text.SimpleDateFormat; import java.util.Date; /** * 生成流程单号相关 * @author * 参数1.基于枚举的类型编号 * 参数2. */ public class SystemSeria...
SQL 数据库中如何自动生成订单号
有一张表TAB1,字段num。num里有很多数字,我想从1开始,查到里面缺少的最小的一个数字:例如 4,5,6,8,9,11,12,13;这样的话我想要的结果是1;1,2,3,4,5这样的话,我想要的结果是6; 其实利用正常排序的找第一个不正常递增的号码就行了,然后找出它的序号,用正常数值中最大值+1比它小的其实就行了。 create table TAB1(num varchar(32
如何用一个SQL语句产生一系列流水编号
 Q:如何用一个SQL语句产生一系列流水编号,格式如下: 20070327-0001 20070327-0002 20070327-0003 20070327-0004 20070327-0005 ...... 20070328-0001 20070328-0002 ...... A: select  replace(convert(char(10),getdate(),120),
c#获取流水单号
///         /// 获取问题单号         ///         ///         public string GetOrderNumber(ZemtProblemManagementDBContext dbContext)         {             int index = 0;             int state = Con
SQL Server生成订单号
在SQL Server中生成订单号的方法有许多种,现归纳如下:SQL语句:selectreplace(substring(convert(varchar(20),getdate(),120),1,10),-,)+cast(MAX(订单号)+1 as varchar(4))使用存储过程 --创建测试表create table usertable(u
java自动生成物流单号
public class DeliveryNum { /** * //宅急送物流单 和 雅玛多物流单生成:加11,逢6 减6加10 * @param deliverynum 物流单号 * @return 后一个物流单号 */ public static String getOneNum(String deliverynum) { String deliveryvalue="";
sql server,Oracle通用处理自动产生流水编号:字母、日期、数字等组成
sql server,Oracle通用处理自动产生流水编号:字母、日期、数字等组成<br />曾经在实训时,做了最后一个项目是伟库网里的ERP-进销存网站。这个网站有一点就是每操作保存成功,都会产生一个单据编号。<br />而这个单据编号是由不同方式组成的,比如以下两个图:JH10120001,CD10120001。以下我来详细的讲解个人的理解与做法,<br />随笔中如若有错之处或者修要修改的,欢迎各位高手或浏览者指教,并希望你们提出宝贵的意见和建议。以下的内容希望对那些做ERP或者电子商务等等需要用到流
Java生成DN20160127001这样的送货单号
String maxDN = deliveryDAO.selectMaxDN(); // 从数据库查询出的最大编号 String dnNumber=DNUtils.generatorDnNumber(maxDN); //系统生成DN号 public class DNUtils { public static String generatorDnNumber(String maxDN){
流水编号生成模拟
# ============================================================== # -*- coding: utf-8 -*- # @Time : 2018/02/24 15:15 # ============================================================== import datetime ...
生成流水单号 Excel判断时间
生成流水单号 Excel判断时间。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
自动生成单号
原理单号:前缀字符(不同的业务有着不同的前缀)+日期字符串+流水号。 由于系统的订单号生成规则都一致,所以可以试用一个插件进行单号的自动生成。步骤(1)创建规则表; (2)创建规则生成的插件; (3)调用插件生成订单号。数据库设计规则表 字段 类型 备注 ID VARCHAR2(36) 规则ID CODE VARCHAR2(20) 业务单号编码, PREF
java根据日期生成单号
package com.shinowit.service; import com.opensymphony.xwork2.ActionSupport; import com.shinowit.DAO.BaseDAO; import com.shinowit.entity.TMeInStockInfoEntity; import javax.annotation.Resour
数据库订单号生成
CONCAT(UNIX_TIMESTAMP(NOW()),TRUNCATE(rand() * (999-100) + 100,0))
java生成简单流水号
java生成流水号 原理:获取当前时间字符串yyyyMMddHHmmss 再加上一个100~1000的随机数 从而产生一个流水号 public class serialnumber { /** * 获取现在时间 * @return返回字符串格式yyyyMMddHHmmss */ public static String getStringDate(
C#自动生成流水号的代码
<br />txtjinghuo_id.Text = ReceiptNumber.AutoCreatID("CG", "CaiGouInfo", "jinhuo_id"); <br />下面是AutoCreatID()方法:<br />public static string AutoCreatID(string flag, string TableName, string FieldName) { string dbDateTime = GetServerSysDate("yyyyMMdd");
Oracle 生成流水号 存储过程 订单编号
用存储过程生成流水号是很常用的,这里以生成订单编号的流水号作为示例。(新的一天的流水号从1开始,如:今天的订单编号是CD2013010900014,下一个订单编号将是CD2013010900015;明天的订单编号将从CD2013011000001开始) 生成规则:2位前缀+年月日+5位流水号 或者 2位前缀+年月日时分+5位流水号 或者 2位前缀+年月日时分秒+5位流水号。 测试订单表(t
根据数据库自动生成java代码
package com.power.util; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.
一个简单的,纯jdbc的自增流水号生成,一种类型一种流水号
关于流水号的生成是我们程序员经常会遇到的问题了,每次遇到这样的问题,都是百度,百度,与其这样,还不如和我 一起,制作一个流水号,很简单,也不难 just do it;我这里要求是,每一种类型都要对应不同的流水号,互不影响。。。 原理是:先判断这种类型的流水号是否在流水号表中存在,如果不存在,则让最大流水序号为1,并插入一条数据到流水号表中,如果存在,则需要更新最大流水号,在之前流水还上加一;谁
流水号的生成(日期+业务码+自增序列)
项目开发时,使用了两套数据库,开发环境和上线环境,数据库表中大多采用了自增主键, 比如:id int unsigned primary key auto_increment,但往往会碰到一些问题,比如: 开发环境中,使用爬虫抓取一些数据,建立索引,再把数据迁移到上线环境,会导致索引中的id和 上线环境数据库中id对不上,所以决定使用字符串作为主键。那么问题来了,如何生成唯一的序列号? 格式按
java根据数字生成固定的位的流水(至少5位)
int i = 10000000; String seqNum = String.format("%05d", i); System.out.println(seqNum);
订单号生成从何入手
前段时间跟一个产品朋友讨论到商品订单号改如何生成的问题,其实这个问题一直是抱着疑问态度的,在我心里,这个问题没有十全十美的解决方案,没有最合理,只有更合理。 首先,我们明白的是“订单号”究竟会在什么时候我们会用到他,回想我这么多年的剁手经验:搜索想要的产品-看评论-加购物车-提交订单付款-收快递-确认收货加评价,额,订单号是什么鬼?对于买家来说,订单号在我这里完全没有任何作用(仅限于淘宝购物的总
java深度模仿支付宝订单号/交易流水号(高性能,不重复)
先看一下支付宝的订单号:2015082600001000040061749694 分析看来:                 前六位数(20150826)是年月日格式化:yyyyMMdd                 中间的8位数(00001000)是:00001000,固定4个0+1000                 在后两位(04):随机生成一个两位数
java 订单号生成器
import org.apache.commons.lang.time.DateFormatUtils; import java.net.InetAddress; import java.net.UnknownHostException;   public enum IdGenerator { INSTANCE; private long workerId; /...
sql server 生成16位时间单号
第一步 时间格式化 select  CONVERT(varchar(100), GETDATE(), 25) 2015-04-08 10:41:51.857 第二步 替换时间 的-横杠,:冒号,.点,和空格。去掉年的前两位,cast(cast( rand()*10 as int)as varchar(1)) 后边再增加一个0-9的随机数 select substring(repl
java生成订单编号工具
直接code,用了线程执行,加上了锁 public class TestOrder extends Thread{ private static long orderNum = 0l; private static String date ; public static void main(String[] args) throws Interr
JAVA 生成不重复订单号 优化版本 订单号格式为yyyymmdd后面自增
思路是 先生成 1w个订单号扔到  队列中,然后 有需要的直接在队列取,如果取不到的话,那么在生成1w个
针对微信用户,随机生成商户订单号( OrderSN)
/** * 针对微信支付生成商户订单号,为了避免微信商户订单号重复(下单单位支付), * * @return */ public static String generateOrderSN() { StringBuffer orderSNBuffer = new StringBuffer(); orderSNBuffer.append(System.currentTimeM...
Mybatis逆向工程根据数据库表生成java代码。
1.建一个java工程 2.在工程上新建一个generatorConfig.xml 文件 3.在generatorConfig.xml文件写入以下代码<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Conf
java代码框架生成器
java代码框架生成器,可以直接生成代码 ,设置好端口,直接生成代码
总结订单号生成
分布式、高并发环境订单号要求1.    全局唯一2.    订单号信息及安全要求3.    趋势递增要求订单号生产策略策略一:UUID       组成:当前日期+时间+时钟序列+机器识别号(Mac地址或其他)没有mac网卡的话会有别的东西识别。       在分布式系统中,所有元素(WEB服务器)都不需要通过中央控制端来判断数据唯一性。几十年之内可以达到全球唯一性。策略二:数据库自增IDMysq...
SQl语句生成数据字典
数据字典生成工具直接从数据库中读取标兵生成word\excel\html 等文档
mysql触发器流水号问题的解决
首先感谢roy_88 版主的执教,这个编码,我就是稍微改动一下,让他更完善。 不知道为什么发帖没有成功。开个博客吧,记录一下自己的学习过程,也挺好。感谢回答我这老菜鸟问题的人们。 create table orders(orders_id varchar(12) primary key,customer_name varchar(100) ); create table NextSerial
U8Server——分布式环境下唯一订单号生成规则
U8Server支持分布式部署之后, 我们还有一个问题需要解决, 那就是分布式环境下,唯一订单号生成问题。 之前U8Server的订单号生成规则是 32位时间戳+32位序号,最终生成一个64位的long类型的订单号。之前也考虑过,使用UUID等方式, 但是综合考虑下来, 我们决定还是让订单号使用数字类型(好排序),同时让订单号逐渐递增,并具有一定的自解释语义(这里主要指的是订单的产生时间)支持分布式
生成表单号
import java.text.SimpleDateFormat; import java.util.Date; /** * * 生成表单号类 * * * @author * @version 1.0.0 */ public class CreateApplicationNumber { public static void main(String[] ar
js生成类似A0001这样的流水号
&quot;A&quot;+(Array(4).join('0') + newNum).slice(-4);如上newNum为系统中自增长的序列,Array(4).join('0')为生成000三位,例如newNum=12,此时的(Array(4).join('0') + newNum)为00012,之后'00012'.slice(-4)为'0012'。之后拼接前面的任意字符如A。结果为A0012...
根据日期+顺序号生成流水号的存储过程
 前几天做一个项目,要求能按日期+顺序号生成流水号,查看网上相关方法发现都差不多,但是没有完整的编码,被逼无赖,自己做一个,顶一顶也用起来了.本存储过程在sql server 2000下测试通过:CREATE PROCEDURE [dbo].[CreatePcdID] (@PcdID char(20)  output--输出派车单号)ASdeclare @result int --当天派车
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 生成课程表的数据库 生成课程表的数据库