关于主外键关系主表子表插入 或者更新
主外键关系表主表子表插入或者更新问题
对于多表的整体跟新数据,并且各个表之间有主外键关联
表UserA为主表,主键为id;
表UserB为主表,主键为Bid,外键为id;
表UserC为主表,主键为Cid,外键为id;
代码逻辑为先插入主表的一条信息,如果是新增数据,则相应子表数据,也做相应插入;如果是更新数据,则相应子表数据,也做相应更新;
List<UserADto> userAWebLists = Webservice.queryUserA();//从其他系统同步过来的UserA,UserB,UserC
List<UserBDto> userBWebLists = Webservice.queryUserB();
List<UserCDto> userCWebLists = Webservice.queryUserC();
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");//此地方应该是用注解形式添加,由于准备不足,只能简写了
UserADto userADto =ac.getBean("UserADto");
UserBDto userBDto =ac.getBean("UserBDto ");
UserCDto userCDto =ac.getBean("UserCDto ");
String conditions ="";
for(UserADto userADto:userAWebLists ){conditions =" '"+userADto.getId()+"'";Collection collection = userADao.findBykeyPrimary(conditions) ;//查询当前系统中,UserA中对应的该条数据if(collection.size()==0){userADao.insert(userADto);List<UserBDto> userBDtoLists = userADao.findByForeignkeyFormWeb(userBWebLists ,conditions);//查询当前系统中,UserB中对应的该条数据,可能是一对多的关系for(UserBDto userBDto:userBDtoLists){userBDtoDao.insert();}List<UserCDto> userCDtoLists = userADao.findByForeignkeyFormWeb(userCWebLists ,conditions);for(UserCDto userCDto:userCDtoLists){userCDtoDao.insert();}}else{userADao.update(userADto);List<UserBDto> userBDtoLists = userADao.findByForeignkeyFormWeb(userBWebLists ,conditions);for(UserBDto userBDto:userBDtoLists){userBDtoDao.update();}List<UserCDto> userCDtoLists = userADao.findByForeignkeyFormWeb(userCWebLists ,conditions);for(UserCDto userCDto:userCDtoLists){userCDtoDao.update();}}
}
关于主外键关系主表子表插入 或者更新相关推荐
- 有外键约束的子表插入数据时出现的错误
mysql-外键 父表:t_grade 子表:t_student 当在字表中插入数据时,必须有与其对应的父表记录,若父表中无对应的相关记录,则子表的数据插入失败 转载于:https://blog.51 ...
- EntityFramework Core 迁移忽略主外键关系
[导读]本文来源于一位公众号童鞋私信我的问题,在我稍加思索后给出了如下一种方案,在此之前我也思考过这个问题,借此机会我稍微看了下,目前能够想到的也只是本文所述方案. 为何要忽略主外键关系 我们不仅疑惑 ...
- mysql授权、关联查询、主外键关系
创建用户: 无密码: create user bbb@localhost; 加密码的: create user bbb@localhost identified by "123"; ...
- sql外键需要输入吗_关于sql:为什么在没有连接的情况下可以联接,为什么需要主-外键关系?...
如果我们可以从两个表中获取数据而又没有主键和外键关系,那为什么我们需要这个规则? 你能用合适的例子清楚地解释我吗? 这是一个测试数据库,不要介意不良的结构. 表的结构: ** TABLE - 'tes ...
- mysql 主外键_mysql中主外键关系
一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...
- mysql主外键引用关系,关于mysql:数据主/外键关系
我想对于那些已经开发了许多数据库模式的人来说,这将是一个简单的答案,但是我最近发现自己承担了优化(或尝试优化)数据库模式的任务,并且一直在阅读"高性能MySQL",并且剩下一个关于 ...
- 例题:学习数据库查询。学生信息表的创建,主外键关系,以及45道题的查询实例。主要知识点在讲页45页,和讲页65页...
create database shujuku use shujuku use cangku go --注意事项:外键对本关系不一定是键 --2:创建外键时,链接表的主关键字已经确立 --3:当创建外 ...
- mysql 删除表数据_主外键关联表的数据删除策略
说个题外话,我从来没想过会被拼多多这款软件所魔怔,他的这种社交营销的能力,实在是太强了,在怂恿之下,开始给儿子拼个这个, 各位有空帮砍下,https://w.url.cn/s/AzlPAB9,或者扫下 ...
- Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)
有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...
最新文章
- Ubuntu--开启TELNET服务
- centos7配置静态IP
- cr3格式怎么转换成jpg_怎么把JPG格式转换为PDF?
- python sdk怎么用_如何使用七牛Python SDK写一个同步脚本及使用教程
- wxPython实现在浏览器中打开链接
- Linux 网络编程详解四(流协议与粘包)
- 自己来实现一套IOC注解框架
- 好朋友的爬虫共享资料,真佩服
- (二)UDPSocket 客户端编写(超详细)
- MATLAB深度学习工具箱汇总
- FFplay命令分析-vf
- 【转载】大龄码农的新西兰移民之路
- oracle发生20001,Oracle10g重建EM 报ORA-20001: SYSMAN already exists
- 11度青春之《老男孩》
- (1)语言是什么——NLP的语言基础
- 【探花交友】day05—圈子互动
- 深度学习-BP神经网络(python3代码实现)
- Java Web和Java后端开发的学习路线
- 魔兽怀旧服联盟服务器不稳定,魔兽世界怀旧服转服服务关闭最后一天,联盟部落新的对抗...
- Ubuntu 搜索不到WIFI或连接不上的解决方法
热门文章
- 文章被其他网站盗用的经历
- VMware中三种网络适配器
- 台式计算机功率一般多少瓦,台式电脑功率一般多大 台式机功率有多少【详细介绍】...
- 甘特图版2012年伦敦奥运会赛程表
- 1 canvas 画二维码
- SQL改写的书终于出版了
- 计算机网络应用基础论文,计算机网络应用基础研究论文
- 麒麟信安一云多芯云桌面解决方案,为某市财政局搭建“云上信创”
- 计算机工程 排版,《计算机工程与设计》稿件模板-正文标题不超过20个字,不.PDF...
- 如何优化服务器的性能