千家信息网

weed3-5中怎么实现事务和事务队列

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关weed3-5中怎么实现事务和事务队列,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.事务(主要用于单个库)
千家信息网最后更新 2026年11月01日weed3-5中怎么实现事务和事务队列

本篇文章给大家分享的是有关weed3-5中怎么实现事务和事务队列,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

  • 1.事务(主要用于单个库)

//demo1:: //事务组 // 在一个事务里,做4个插入//如果出错了,自动回滚DbUserApi dbUserApi = XmlSqlProxy.getSingleton(DbUserApi.class);db.tran((t) -> {    //    // 此表达式内的操作,会自动加入事务    ////sql接口    db.sql("insert into test(txt) values(?)", "cc").insert();    db.sql("update test set txt='1' where id=1").execute();//call接口    db.call("user_del").set("_user_id",10).execute();//table()接口    db.table("a_config").set("cfg_id",1).insert();//xml mapper    dbUserApi.user_add(12);//大家使用统一的事务模式});
  • 2.事务队列(主要用于多个库的情况)

//demo2:: //事务队列////假如,要跨两个数据库操作(一个事务对象没法用了)//DbContext db = DbConfig.pc_user;DbContext db2 = DbConfig.pc_base;//创建个事务队列(和传统概念的队列不一样)DbTranQueue queue = new DbTranQueue();//数据库1的事务db.tran().join(queue).execute((t) => {    //    // 在这个表达示内,会自动加入事物    //    db.sql("insert into test(txt) values(?)", "cc").execute();    db.sql("insert into test(txt) values(?)", "dd").execute();    db.sql("insert into test(txt) values(?)", "ee").execute();});//数据库2的事务db2.tran().join(queue).execute((t) => {    //    // 在这个表达示内,会自动加入事物    //    db2.sql("insert into test(txt) values(?)", "gg").execute();});//队列结组完成(即开始跑事务)queue.complete();
  • 3.事务队列的加强版,跨函数或模块跑事务

public void test_main(){    DbTranQueue queue = new DbTranQueue();    test1(queue);    test2(queue);}public void test1(DbTranQueue queue){    DbTran tran = DbConfig.db1.tran();//生成个事务对象    tran.join(queue).execute((t) -> {            //            // 在这个表达示内,会自动加入事物            //            t.db().sql("insert into $.test(txt) values(?)", "cc").insert();            t.db().sql("insert into $.test(txt) values(?)", "dd").execute();            t.db().sql("insert into $.test(txt) values(?)", "ee").execute();            t.result = t.db().sql("select name from $.user_info where user_id=3").getValue("");        });}public void test2(DbTranQueue queue){    //...test2就不写了}

以上就是weed3-5中怎么实现事务和事务队列,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

事务 队列 事物 接口 数据 数据库 对象 更多 知识 篇文章 实用 两个 传统 函数 单个 多个 就是 工作会 情况 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 互联网属科技 互联网巨头反垄断金融科技 互联网公司 科技公司 上海万想互联网科技 居家互联网科技有限公司 银川新华互联网科技学校地址 博兴的互联网电子科技公司 福州新华互联网科技学校 知乎 互联网企业和科技型企业 乌苏新华互联网科技做什么的 科技大学互联网 滨湖区互联网智能科技产品有哪些 美国五大互联网科技公司市值多少 互联网科技和医药行业 青岛互联网科技园 银川新华互联网科技学校招聘 科技美学互联网 艺术 恒生科技互联网指数十大成分股 广州全民伙伴互联网科技有限公司 天津市摩尔互联网科技 广东猪兼强互联网科技有限公司 科技类互联网 科技伦理 互联网公司 欧洲十大科技互联网公司 现代互联网科技股 互联网新科技动漫ppt素材 佛山市翊博互联网络科技有限公司 黑云互联网科技有限公司 易租星互联网科技有限公司
0