非自增编号字段,避免生成重复编号(以pdfNo编号为例) 有个场景,用户查询延误航班信息,然后生产一个编号,默认第一个编号是1000001,其后新增的编号默认自增加1.每次有人来查延误信息,如果延误信息存在,则取查询数据库pdfNo字段,查询最大的编号,然后+1后,再插入一条新的延误记录.这样会造成多人同时查询,并生成延误记录是,pdfNo的编号会重复现象. 经过分析,俺们组长说,有2中多种解决方案,一种是分布式锁方案,一种是insert into select from方案,一种是RedisL…
查看本章节 查看作业目录 需求说明: 模拟网上商城购物,当用户选好物品提交订单时,每笔订单会自动生成一个唯一的订单编号.而部分电子商务网站在数据高峰期时,一毫秒可能需要处理近千笔的订单 现在简单模拟 5 个订单同时提交,生成唯一订单编号的场景.订单编号的生成规则是以毫秒为单位的当前时间+订单序号 例如,当前时间的毫秒数是 150000,那第 1 笔订单的编号就是 1500001,第 9 笔订单的编号就是 1500009 实现思路: 项目中创建订单类 Order(订单编号.订单金额.下单用户) 创…
CRM中通过QueryExpression查询出了一个EntityCollection集,但有时会存在重复数据,QueryExpression中有个属性distinct,只要设置为true就能过滤重复数据,但这个属性针对的数据重复是所有的列都相同.但现在讨论的重复数据不是多条数据的所有列都一样,而是当某个字段或者多个字段的数据重复时我们就认为这是一条重复数据,那怎么样才能去掉这种情况下的重复呢? EntityCollection.Entities.GroupBy(item => item.G…
public class T01 { public static void main(String[] args) { int j=4; j=j+=j-=j*=j; System.out.println(j); int i2=1; int i1=1; int i3=i2++;  int i4=++i1; System.out.println(i2 +"/"+ i3); System.out.println(i1 +"/" +i4); /** for 执行顺序 * f…
MybatisGenerator插件是Mybatis官方提供的,这个插件存在一个固有的Bug,即当第一次生成了Mapper.xml之后,再次运行会导致Mapper.xml生成重复内容,而影响正常的运行.我们不得不去手动把那些mapper.xml中多出来的东西手动删掉. 为了解决这个问题,需要自己写一个小插件类OverIsMergeablePlugin.(这个东西我也是曾经在网上看到的) OverIsMergeablePlugin.java import org.mybatis.generator…
ci框架 验证字段 需要 生成类似为: array('field' => 'admin_id','label' => '账号ID','rules' => 'integer'),         array('field' => 'admin_account','label' => '账号','rules' => 'htmlspecialchars'),         代码为:   //获取所有的表结构 生成 public function getdesc(){ $sq…
在弄电商类网站的时候,往往是根据年月日时分秒的格式生成订单号(yyyyMMddHHmmss),为了解决并发性,就直接在生成订单号的区域块加上lock. 下面,我们来简单测试一下. 1.新建项目(控制台应用程序) 2.新建一个类:OrderIdHelper.cs /// <summary> /// 订单助手 /// </summary> class OrderIdHelper { private static readonly object Locker = new object()…
近段期间,公司 接手一个订单号生成服务,规则的话已经由项目经理他们规定好了,主要是后面的四位数代表的关于当前订单号已经执行第几个了.而这里面有一个要求就是支持分布式.为了实现这个东西,刚开始我使用了redis的incr来解决这个问题,因为我们后端开发用的是Spring boot,所以我网上找了一个代码如下: /** * * @param key * @param liveTime * @return */ public Long incr(String key, long liveTime) {…
daoImpl: public String isVipCode(String vipcode) { String sql = "from FfzjUserEntity where vip_code='"+vipcode+"' "; Query queryObject = getSession().createQuery(sql.toString()); List<FfzjUserEntity> list = queryObject.list(); if…
由于某些原因需要获取数据库最大的id值.所以出现了这段php 获取数据库最大的id代码了.这里面的max(id) 这里面的id 就是要获取最大的id了.如果是别的字段请填写为其他字段 获取数据库中最大的id的值 $fh = mysql_query("select MAX(id) from master"); $c_echo = mysql_fetch_array($fh); var_dump($c_echo); 然后获取员工编号 $str=”QB”.str_pad(($maxid[0]…