使用Speedion 3.0.17或更高版本轻松从事务中返回值

交易次数

在我以前的文章中,我写了关于如何使用Speedment轻松使用事务的方法,其中我们原子地更新了两个银行帐户。 众所周知,事务是一种将多个数据库操作组合到一个原子执行的单个操作中的方法。

但是事务不仅与更新数据库有关,而且还与执行原子读取有关。 借助Speedment,我们可以使用Java流自动地计算值,然后以一种简单的方式将结果返回到事务范围之外的内容。

返回交易值

假设我们有一个包含电影和艺术家的数据库(例如,使用MySQL的开源Sakila数据库内容),并且我们希望在一次交易中计算电影的数量加上数据库中艺术家的数量。 如果我们想在GUI或类似的工具中显示某种数据库大小,可能就是这种情况。 这可能是这样的:

long sumCount = txHandler.createAndApply(tx -> films.stream().count() + actors.stream().count());

当事务开始时,数据库的视图被“冻结”,因此在事务内看不到通过其他线程插入数据库的新电影或艺术家。 因此,我们可以安全地假定我们的视图不受其他线程的影响。

可以看出,使用非常少的样板代码,我们可以表达使用Speedment在事务内执行的功能。

准备工作

在使用事务之前,我们需要获得一个TransactionHandler如下所示:

SakilaApplication app = ....TransactionComponent transactionComponent = app.getOrThrow(TransactionComponent.class);TransactionHandler txHandler = transactionComponent.createTransactionHandler();

可以从应用程序中检索FilmManagerActorManager ,如下所示:

FilmManager films = app.getOrThrow(FilmManager.class);ActorManager actors = app.getOrThrow(ActorManager.class);

在此处阅读有关Speedment交易的更多信息 。

下一步是什么?

访问GitHub上的 Speedment开源并尝试一下!

翻译自: https://www.javacodegeeks.com/2017/11/easily-return-values-transaction-speedment-3-0-17-later.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双代号网络图节点时间参数_管理和实务都考!快速学会单代号与双代号参数计算...

工程网络计划是二级建造师《建设工程施工管理》科目每年均会进行考核的高频考点,重点在双代号、单代号网络计划的概念及应用。主要题型为通过网络图或文字描述计算相关网络参数或确定关键线路,本篇就双代号、单代号网络计划相关参数的计算,以…

idea中maven执行install报错_IntelliJ IDEA Maven编译install时报错,无效的发行版:1.8

1.首先看java环境是否配置正确JAVA_HOME : C:\Program Files\Java\jdk1.8.0_92 //安装的Jdk路径PATH: %JAVA_HOME%\bin;按下"window"R 输入cmd 按下"ENTER" 输入java -version,如果出现了版本号等信息说明配置成功2.确认maven配…

gc可视化分析_GC内存可视化器教程–第一部分

gc可视化分析正如您从过去的文章中可能已经读到的那样,要获得的Java程序员的一项关键技能就是理解和评估JVM的运行状况的能力,例如Java堆内存占用量以及垃圾回收过程。 为了实现上述目标,所有JVM供应商(Oracle,IBM等&…

go 变量大写_go语言如何将大写转小写

go语言将大写转小写的方法:首先创建一个go示例文件;然后定义一个字符串类型的变量;接着使用ToLower函数将大写的变量字符全部转成小写;最后使用print函数打印转换后的结果即可。本文操作环境:Windows7系统、Go1.11.2版…

spark减少内存消耗_将内存消耗减少20倍

spark减少内存消耗这将是另一个故事,与我们分享有关内存相关问题的最新经验。 该案例是从最近的客户支持案例中提取的,在该案例中,我们遇到了一个行为异常严重的应用程序,该应用程序因生产中的OutOfMemoryError消息而死。 在连接了…

运筹视角下,体系化学习机器学习算法原理的实践和总结

文章目录 引言目标设计目标实践文章汇总经验总结一则预告 引言 上两周总结了我在体系化学习运筹学基础知识方面的个人经验,看过那篇文章的人可能知道,今年我还花了很多时间学习机器学习中各种模型的算法原理。 在工业应用中,机器学习和运筹…

使用Logstash,JDBC将数据聚合并索引到Elasticsearch中

介绍 在我以前的帖子在这里和这里我展示了如何使用JDBC和Elasticsearch JDBC进口商库从SQL数据库索引数据到Elasticsearch。 在这里的第一篇文章中,我提到了使用导入程序库的一些缺点,这些缺点我已在此处复制: 不支持ES版本5及更高版本 嵌套…

mysql ssd tps 上不去_转【案例分享】压测TPS上不去

1.问题描述:客户新上的一个关键业务系统,在做上线前的压力测试时,应用的并发无法达到上线前的并发指标和响应时间指标要求。压测时TPS的曲线很不稳定,如下所示:2.分析过程:从上述知识点可以知道&#xff1a…

棋牌类游戏算法–牌分类_快速分类–三向和双枢轴

棋牌类游戏算法–牌分类毫无疑问,Quicksort被认为是本世纪最重要的算法之一,并且它是许多语言的事实上的系统排序,包括Java中的Arrays.sort 。 那么,quicksort有何新功能? 好吧,除了我刚刚(在J…

真实收货地址大全2016_中国古典诗词大全汇集了诗经、唐诗、宋词、元曲以及纳兰词,12册精美套装。...

↑点击上方“诗画天地”关注我们诗词也如人生,你驻足便是驿站,你前行便是风景。任由时光无尽幻变,回眸处星孤月洁,阅读诗词能让人生变得清明透彻,仿佛与古人走在同一条道上,俯仰之间,人生皆是诗…

python可以帮机器人编程吗_Python如何实现机器人聊天

今天午休的时候,无意之中看了一篇博客,名字叫Python实现机器人,感觉挺有的意思的。于是用其写了一个简单的Python聊天,源码如下所示:# -*- coding: utf-8 -*-import aimlimport sysimport osdef get_module_dir(name):print("…

测试案例6种编写方法_一种编写测试的好方法

测试案例6种编写方法测试。 我最近一直在考虑测试。 作为我对各种项目所做的代码审查的一部分,我已经看到了数千行未经测试的代码。 这不仅是测试覆盖率统计数据指出这一点的情况,更是该项目中根本没有任何测试的情况 。 我一直听到这种悲惨状况的两个原…

python字符串查找匹配_说说在 Python 中,如何找出所有字符串匹配

Regex 对象有一个 findall() 方法,它会返回包含所查找字符串的所有匹配。这与 search() 方法明显不同,search() 将返回一个 Match 对象,其中包含被查找字符串中的 “ 第一次 ” 匹配文本。请看以下示例,注意区分:phone…

使用Spring MVC应用程序配置嵌入式H2控制台

在上一篇文章中,我们使用嵌入式H2数据库将Spring MVC应用程序部署到Tomcat。 在嵌入式数据库中浏览数据非常困难,因为我们无法连接外部客户端来查看数据。 H2提供了一个Web控制台,我们可以启用它并使用它来浏览数据,如下所示&…

Hashcat从入门到入土(二)

使用hashcat破解word密码 昨天的文章里给自己挖了一个坑,使用公司电脑显卡还是GT705古董级别的,显卡驱动也没设置好,导致使用hashcat的时候出现了exhausted的问题,导致密码没有算出来,今天我用自己电脑算一下&#xf…

将SQL server2019数据库部署在虚拟机上

下载Windows.iso 前段时间由于数据库文件丢失,导致项目再转入新的环境以后需要重新安装SQL server,但是由于win11对SQL server2019支持非常差,申请的SQL server2022的试用资格又迟迟没有批准导致我的数据库始终连不上,于是只能打…

sqoop mysql 安装_Sqoop安装及验证_MySQL

Sqoop安装及验证环境:系统Red Hatlinux 6.4Hadoop版本1.2.1Sqoop版本1.4.4Mysql数据库版本5.6.15通过Sqoop实现Mysql /Oracle与HDFS / Hbase互导数据http://www.linuxidc.com/Linux/2013-06/85817.htm[Hadoop] Sqoop安装过程详解http://www.linuxidc.com/Linux/2013…

restful web_泽西岛的RESTful Web服务

restful web我已经讨论了有关体系结构考虑事项<< link >>的早期文章&#xff0c;以成为可在我的系统/机器上使用的分布式环境上的RESTful系统。 本文我们将讨论如何基于REST体系结构考虑来构建Web服务。 本教程说明了如何使用Tomcat 6&#xff0c;Eclipse和Jersey …

常见操作系统调度算法研究(1)

FIFO FIFO全称是first in first out&#xff0c;是操作系统里面常见的一种算法&#xff0c;他就好比是一堆人在排一个队伍&#xff0c;按照先进先出的规则&#xff0c;谁首先排队谁就可以第一个出去。 它的缺点显而易见&#xff0c;如果第一个进去的家伙任务量过大&#xff0c…

常见操作系统调度算法研究(2)

轮转策略 轮转策略&#xff08;Round-Robin&#xff09;简称为RR&#xff0c;在RR里面&#xff0c;每个准备就绪的任务只能在有限的时间内运行&#xff0c;也就是说不管这个任务完成与否&#xff0c;都会切换任务到下一个。 由于它要频繁的切换队列&#xff0c;我们可以把准备…