当前位置: 首页 > 知识库问答 >
问题:

Spring Batch-根据条件更新不同的表

洪博艺
2023-03-14

Spring批处理

不知道如何实现这一点,但要求是假设我们有条件A/B:

>

  • 如果是A-我必须在表D/E/F中更新/删除/插入

    如果是B-我必须更新/删除/插入表G/H/I

    该事务应该在单个事务中完成,这意味着在条件a下,我必须完成所有3个表的更新-D、E、F。如果任何表失败,则不应部分完成该事务。

    正在考虑分类器复合项编写器,但不确定它是否是单个事务。

  • 共有1个答案

    林辰钊
    2023-03-14

    只有当项目应该/可以分类时,使用分类器才有意义。因此,如果您的条件取决于项目类型(即类),那么使用分类器复合编写器是可行的方法。如果您使用复合编写器,事务将围绕复合编写器进行,插入/更新/删除语句采用全有或全无语义学。您可以在此处找到一个完整的示例:Spring Batch CompositeItemWriter如何管理委托编写器的事务?

    如果条件不依赖于项类型(例如作业参数或系统属性),则可以为此创建自定义编写器(此编写器可以委托给两个复合编写器,并根据条件调用相应的编写器)。

     类似资料:
    • 我有这样的表: 我需要一个更新查询来根据它包含的值更新salary列。 工资需要增加: 10000到15000之间的值为5000 15000到20000之间的值为7000 20000到30000之间的值为8000 40000到60000之间的值为10000

    • 本文向大家介绍AngularJS实现根据不同条件显示不同控件,包括了AngularJS实现根据不同条件显示不同控件的使用技巧和注意事项,需要的朋友参考一下 由于项目需求,需要实现根据不同条件显示不同控件的功能。具体要求如下图所示: 即当选择“每单固定减”时,下方只显示“减免金额”一栏;     当选择“每单固定折扣”时,下方只显示“折扣比例”一栏;     当选择“每单满额减”时,下方只显示“满.

    • 我有一个pandas数据帧,其中3列X、Y和Z用于分组。我想基于代码中显示的条件为每个组更新列B(或将其存储在单独的列中)。但我得到的最后结果是零。我不确定我做错了什么。 下面是供参考的表格和代码:

    • 我的表格结构如下: 现在,要进行大规模更新,我将执行以下操作: 但是,我们不应该盲目地将状态设置为1,因为有一个条件。如果列的值等于

    • 问题内容: 这个问题已经在这里有了答案 : SQL UPDATE SET哪一列等于另一列引用的相关表中的值? (10个答案) 7年前关闭。 我有两张桌子 table1(id,item,price)值: .... table2(id,item,price)值: 现在我要: 我该怎么做? 问题答案: 这样的事情应该做到: 您也可以尝试以下操作:

    • 本文向大家介绍根据两个条件更新MongoDB中指定字段的查询,包括了根据两个条件更新MongoDB中指定字段的查询的使用技巧和注意事项,需要的朋友参考一下 为此,请使用UPDATE()方法,并在其中设置两个条件。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出; 以下是根据两个条件更新MongoDB中数量的查询- 在find()方法的帮助下显示集合