创建order订单id号 mysql存储过程

本文介绍如何在Java中调用MySQL的存储过程来生成唯一的订单ID。通过建立连接,设置并执行存储过程,获取返回的订单ID字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BEGIN
  START TRANSACTION;  
    select last_time into @time from create_orderid;
    select num into @num from create_orderid;
  select date_format(NOW(),'%Y%m%d') into @nowtime;

  if STRCMP(@nowtime,@time)=0 THEN
     update  create_orderid set num=num+1,id=concat(@time,num);
  ELSE
     update  create_orderid set num=1,id=concat(@nowtime,1),last_time=@nowtime;
  end if;

  select id into ids from  create_orderid;
  select ids from  create_orderid;
  COMMIT; 

end

-----------------------------------------------------------------

java调用

// 获得订单id
    @SuppressWarnings("deprecation")
    public String getOrderId() {
        java.sql.Connection con = getSession().connection();
        String sql = "{call createOrId(?)}";// 调用存储过程
        CallableStatement cs;
        String name = "";
        try {
            cs = con.prepareCall(sql);
            cs.registerOutParameter(1, java.sql.Types.VARCHAR);
            cs.execute();
            name = cs.getString(1);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return name;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值