主外键关系表主表子表插入或者更新问题

对于多表的整体跟新数据,并且各个表之间有主外键关联
表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();}}
}

关于主外键关系主表子表插入 或者更新相关推荐

  1. 有外键约束的子表插入数据时出现的错误

    mysql-外键 父表:t_grade 子表:t_student 当在字表中插入数据时,必须有与其对应的父表记录,若父表中无对应的相关记录,则子表的数据插入失败 转载于:https://blog.51 ...

  2. EntityFramework Core 迁移忽略主外键关系

    [导读]本文来源于一位公众号童鞋私信我的问题,在我稍加思索后给出了如下一种方案,在此之前我也思考过这个问题,借此机会我稍微看了下,目前能够想到的也只是本文所述方案. 为何要忽略主外键关系 我们不仅疑惑 ...

  3. mysql授权、关联查询、主外键关系

    创建用户: 无密码: create user bbb@localhost; 加密码的: create user bbb@localhost identified by "123"; ...

  4. sql外键需要输入吗_关于sql:为什么在没有连接的情况下可以联接,为什么需要主-外键关系?...

    如果我们可以从两个表中获取数据而又没有主键和外键关系,那为什么我们需要这个规则? 你能用合适的例子清楚地解释我吗? 这是一个测试数据库,不要介意不良的结构. 表的结构: ** TABLE - 'tes ...

  5. mysql 主外键_mysql中主外键关系

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

  6. mysql主外键引用关系,关于mysql:数据主/外键关系

    我想对于那些已经开发了许多数据库模式的人来说,这将是一个简单的答案,但是我最近发现自己承担了优化(或尝试优化)数据库模式的任务,并且一直在阅读"高性能MySQL",并且剩下一个关于 ...

  7. 例题:学习数据库查询。学生信息表的创建,主外键关系,以及45道题的查询实例。主要知识点在讲页45页,和讲页65页...

    create database shujuku use shujuku use cangku go --注意事项:外键对本关系不一定是键 --2:创建外键时,链接表的主关键字已经确立 --3:当创建外 ...

  8. mysql 删除表数据_主外键关联表的数据删除策略

    说个题外话,我从来没想过会被拼多多这款软件所魔怔,他的这种社交营销的能力,实在是太强了,在怂恿之下,开始给儿子拼个这个, 各位有空帮砍下,https://w.url.cn/s/AzlPAB9,或者扫下 ...

  9. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)

    有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...

最新文章

  1. Ubuntu--开启TELNET服务
  2. centos7配置静态IP
  3. cr3格式怎么转换成jpg_怎么把JPG格式转换为PDF?
  4. python sdk怎么用_如何使用七牛Python SDK写一个同步脚本及使用教程
  5. wxPython实现在浏览器中打开链接
  6. Linux 网络编程详解四(流协议与粘包)
  7. 自己来实现一套IOC注解框架
  8. 好朋友的爬虫共享资料,真佩服
  9. (二)UDPSocket 客户端编写(超详细)
  10. MATLAB深度学习工具箱汇总
  11. FFplay命令分析-vf
  12. 【转载】大龄码农的新西兰移民之路
  13. oracle发生20001,Oracle10g重建EM 报ORA-20001: SYSMAN already exists
  14. 11度青春之《老男孩》
  15. (1)语言是什么——NLP的语言基础
  16. 【探花交友】day05—圈子互动
  17. 深度学习-BP神经网络(python3代码实现)
  18. Java Web和Java后端开发的学习路线
  19. 魔兽怀旧服联盟服务器不稳定,魔兽世界怀旧服转服服务关闭最后一天,联盟部落新的对抗...
  20. Ubuntu 搜索不到WIFI或连接不上的解决方法

热门文章

  1. 文章被其他网站盗用的经历
  2. VMware中三种网络适配器
  3. 台式计算机功率一般多少瓦,台式电脑功率一般多大 台式机功率有多少【详细介绍】...
  4. 甘特图版2012年伦敦奥运会赛程表
  5. 1 canvas 画二维码
  6. SQL改写的书终于出版了
  7. 计算机网络应用基础论文,计算机网络应用基础研究论文
  8. 麒麟信安一云多芯云桌面解决方案,为某市财政局搭建“云上信创”
  9. 计算机工程 排版,《计算机工程与设计》稿件模板-正文标题不超过20个字,不.PDF...
  10. 如何优化服务器的性能