Mybatisplus同时向两张表里插入数据[事务的一致性]
一、需求:把靶器官的数据,单独拿出来作为一个从表,以List的方式接收这段数据;
此时分析,是需要有两个实体的,一个是主表的实体,一个是从表的实体,并在主表实体新增一个List 字段来接收从表的实体数据 ----->
二、建立两个实体:SysResidentReplenish (主表实体)、SysResidentReplenishDetail(从表实体)
/** 靶器官筛查情况列表 */@TableField(exist = false)private List<SysResidentReplenishDetail> targetList;
三、如下为原型图

四、分析实现:当前端传过来的数据,如何同时保存在主表 和 从表中
此处注意:不能采用先存入一张表,再存入另一张表的状态;
要注意事务的特性,即:当有一张表 插入不成功的时候,另一张表存入的数据可以回滚。
如此,基于springBoot 项目 采用的方式
接口继承了IService
IService 中有许多的方法
五、重写方法
serviceImpl 代码:
/*** @描述: 重写 IService中 boolean insert(T var1);* 重写的插入方法实现了事务管理,当子表插入失败,主表已经插入的数据会回滚* @param* @return boolean*/public boolean save(SysResidentReplenish sysResidentReplenish){try {sysResidentReplenishMapper.insert(sysResidentReplenish);List<SysResidentReplenishDetail> targetList = sysResidentReplenish.getTargetList();for (SysResidentReplenishDetail sysResidentReplenishDetail:targetList) {sysResidentReplenishDetail.setRecordId(sysResidentReplenish.getId());sysResidentReplenishDetailMapper.insert(sysResidentReplenishDetail);}}catch (Exception e){System.out.println("error插入子表失败:"+e.getMessage());return false;}return true;}
相关文章:
Mybatisplus同时向两张表里插入数据[事务的一致性]
一、需求:把靶器官的数据,单独拿出来作为一个从表,以List的方式接收这段数据; 此时分析,是需要有两个实体的,一个是主表的实体,一个是从表的实体,并在主表实体新增一个List 字段来接…...
天眼销:精准的企业名录
企业名录的重要性,对于销售而言都是极其重要的。本期为家人们分享如何正确挑选出优质的企业名录渠道,避免走一些弯弯坑坑。 为了有效利用企业名录进行客户开发,您需要关注信息的准确性、可提供的资源数量以及信息的时效性。能否根据您的需求…...
TypeError: Cannot read properties of null (reading ‘shapeFlag‘)
vue3 开发过程遇到这样一个报错 TypeError: Cannot read properties of null (reading shapeFlag)最后发现是ref定义的变量,在访问时没有使用.valuereactive 变量初始化是数组,如果使用字符串赋值时也会报这个错。...
视频监控平台EasyCVR多场景应用,AI视频分析技术助力行业升级转型
传统的视频监控系统建设,经常存在各方面的因素制约,造成管理机制不健全、统筹规划不到位、联网共享不规范,形成“信息孤岛”、“数据烟囱”。在监控系统的建设中缺乏统一规划,标准不统一、视频图像信息利用率低等问题日益突出。随…...
如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!
目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角&am…...
c++--类型的基础
1.常量对象,常量成员函数 (1).常量对象 常量对象的引用和指针不能调用类的普通的成员函数。只能调用常量成员函数。 (2).常量成员函数:把const放在类成员函数参数列表后。表示隐含的this是一个指向常量的指针 (3).当创建一个const对象时,直到…...
Python with提前退出:坑与解决方案
Python with提前退出:坑与解决方案 问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: Python with提前退出:坑与解决方案 全局进程锁本身不用多说,大部分都依靠外部的缓存来实现的,r…...
Vue3-provide和inject
作用和场景:顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信 跨层传递普通数据: 1.顶层组件通过provide函数提供数据 2.底层组件通过inject函数获取数据 既可以传递普通数据,也可以使用ref传递响应式数据(…...
Python与设计模式--适配器模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...
大模型能否生成搜索引擎的未来?
文|郝 鑫 编|刘雨琦 ChatGPT火爆之前,水面下,也有中国公司也在朝着智能助手的方向努力。夸克便是其中之一。在GPT风靡科技圈后,国内就开始陆续冒出一些大模型厂商。对当时夸克而言,做大模型毋庸置疑&am…...
鸿蒙开发-ArkTS 语言-状态管理
[写在前面: 文章多处用到gif动图,如未自动播放,请点击图片] 衔接上一篇:鸿蒙开发-ArkTS 语言-基础语法 3. 状态管理 变量必须被装饰器装饰才能成为状态变量,状态变量的改变才能导致 UI 界面重新渲染 概念描述状态变量被状态装饰器装饰的变…...
一篇文章带你掌握MongoDB
文章目录 1. 前言2. MongoDB简介3. MongoDB与关系型数据库的对比4. MongoDB的安装5. Compass的使用6. MongoDB的常用语句7. 总结 1. 前言 本文旨在帮助大家快速了解MongoDB,快速了解和掌握MongoDB的干货内容. 2. MongoDB简介 MongoDB是一种NoSQL数据库,采用了文档…...
删除docker镜像
随着我们拉取的镜像越来越多,镜像的管理越来越难。这时候可能就需要删除镜像了。 本关的任务是学习如何删除容器,要求学习者参照示例,将busybox:latest镜像删除。 相关知识 删除镜像 如果要删除本地的镜像,可以使用 docker rm…...
力扣 --- 删除有序数组中的重复项 II
题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…...
Opencv图像处理(全)
文章目录 博主精品专栏导航备注:以下源码均可运行,不同项目涉及的函数均有详细分析说明。11、图像项目实战(一)银行卡号识别 —— sort_contours()、resize()(二)文档扫描OCR识别 —— cv2.getPerspectiveT…...
Flutter桌面应用开发之毛玻璃效果
目录 效果实现方案依赖库支持平台实现步骤注意事项话题扩展 毛玻璃效果:毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同…...
基于C#实现优先队列
一、堆结构 1.1性质 堆是一种很松散的序结构树,只保存了父节点和孩子节点的大小关系,并不规定左右孩子的大小,不像排序树那样严格,又因为堆是一种完全二叉树,设节点为 i,则 i/2 是 i 的父节点,2i 是 i 的…...
ssm+vue的仓库在线管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。
演示视频: ssmvue的仓库在线管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三…...
什么是木马
木马 1. 定义2. 木马的特征3. 木马攻击流程4. 常见木马类型5. 如何防御木马 1. 定义 木马一名来源于古希腊特洛伊战争中著名的“木马计”,指可以非法控制计算机,或在他人计算机中从事秘密活动的恶意软件。 木马通过伪装成正常软件被下载到用户主机&…...
Pinia仓库统一管理
pinia独立维护 在src/stores文件夹下创建index.js文件,将main.js中关于pinia的语句放到index.js中 index.js文件内容: import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstate const pinia createPi…...
MySQL 分库分表实战
# MySQL 分库分表实战数据量到了千万级,单表扛不住了,就要分库分表。这篇说说怎么做。## 什么时候需要分库分表? 单表数据量: - < 500万:不用分,加索引、优化 SQL - 500万~2000万࿱…...
煎饼果仔 夏天妹妹 90 天 AI 变现落地计划
配套固化核心 Skills+ 标准化Workflow,分阶段落地,兼顾口碑与长效收益 一、阶段总规划 表格 周期 阶段核心目标 变现侧重 AI 能力沉淀 1-30 天 资产梳理 + 模型训练,搭建生产底座 现有商单 + 单片付费增收 风格 LoRA、声纹、剧本模型、素材资产库 31-60 天 AI 量产内容 + …...
保姆级避坑指南:用Python处理泰坦尼克号数据时,90%新手都会犯的5个错误
保姆级避坑指南:用Python处理泰坦尼克号数据时,90%新手都会犯的5个错误泰坦尼克号数据集是Kaggle上最经典的机器学习入门项目之一,但看似简单的数据背后却暗藏无数新手陷阱。我曾辅导过数百名数据科学初学者,发现他们在处理这个数…...
告别ibus!Ubuntu 22.04 LTS下Fcitx5+搜狗输入法保姆级配置指南
Ubuntu 22.04 LTS 现代化输入方案:Fcitx5与搜狗输入法深度整合指南在Linux桌面环境中,输入法配置一直是中文用户面临的经典难题。Ubuntu 22.04 LTS作为长期支持版本,其默认的IBus框架对中文输入的支持始终差强人意。本文将带你探索更先进的解…...
仅剩72小时!Claude ROI计算模型企业定制版限时开放API对接权限(含AWS/Azure/GCP原生适配器)
更多请点击: https://codechina.net 第一章:Claude ROI计算模型企业定制版核心价值与限时策略 Claude ROI计算模型企业定制版并非通用模板的简单参数调整,而是基于客户实际业务流、成本结构与AI应用成熟度深度耦合的量化决策引擎。其核心价值…...
量子计算中的Jacobi-Davidson方法原理与应用
1. 量子计算中的Jacobi-Davidson方法概述量子计算为解决复杂量子系统的基态和激发态能量计算问题提供了新的可能性。在经典计算中,Jacobi-Davidson(JD)方法因其高效的子空间迭代特性而广受推崇。当我们将这一方法移植到量子计算框架下时,它展现出了更强大…...
Linux服务器基线检查实战:从合规到安全能力的跃迁
1. 为什么基线检查不是“走个过场”,而是服务器生死线上的第一道闸门很多人第一次接触“Linux服务器基线检查”,是在安全团队发来的一份《等保2.0整改清单》里,或是运维晨会时被点名:“XX系统基线不合规,限期3天修复”…...
AI赋能工程教育:构建个性化、多元化与伦理驱动的学习生态
1. 项目概述:当工程教育遇见AI,我们到底在谈论什么?最近几年,AI这个词快被说烂了。从ChatGPT的横空出世,到各类生成式AI工具的遍地开花,似乎每个行业都在讨论如何“被赋能”。工程教育这个领域也不例外&…...
【教育智能化临界点预警】:再不掌握AI Agent教学编排逻辑,3个月内将被首批智能助教替代
更多请点击: https://codechina.net 第一章:教育智能化临界点的本质判据与AI Agent不可逆替代趋势 教育智能化是否真正跨越临界点,不取决于技术参数的堆叠,而在于教学闭环中“决策权迁移”的可观测性——当AI Agent在备课、学情诊…...
虚幻引擎Pak文件可视化分析工具原理与实践
1. 为什么一个Pak文件查看器值得花两周重写三遍?虚幻引擎项目打包后生成的.pak文件,对绝大多数开发者来说就是个“黑盒”——你清楚它装着所有资源:贴图、音频、蓝图、关卡数据,甚至UAsset序列化后的二进制结构;但你完…...
