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

对于多表的整体跟新数据,并且各个表之间有主外键关联
表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. 如何在Eclipse中自动删除尾随空格?
  2. webgl获取鼠标形状_三模无线搭配对称手型设计,游戏致胜利器,ROG烈刃2无线鼠标...
  3. 从Ubuntu 14 04 LTS版升级到Ubuntu 16 04 LTS
  4. 南京林业大学计算机专业分数线,2021南京林业大学录取分数线_历年各专业分数线(2017-2020),各省投档线_一品高考网...
  5. Linux学习笔记:安装CentOS与Linux常用命令
  6. 郑大远程计算机组成在线测试,《郑大远程电路在线测试答案》.doc
  7. 为什么要使用boost::enable_shared_from_thisT
  8. Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
  9. (Ios 实战) 自定义UITableView
  10. 系统设计拓展:如何设计一个自动阅卷系统(英语/数学)
  11. 爬虫 + 数据分析 - 7 CrawlSpider(全站爬取), 分布式, 增量式爬虫
  12. 关于美颜滤镜您了解多少?
  13. dwg格式转换pdf
  14. Mob研究院 · BAT数据洞察报告
  15. 微信怎么开直播卖货?
  16. 三极管的基础知识(下)①
  17. NeurIPS 2021 | CyGen:基于概率论理论的生成式建模新模式
  18. Torvalds谈Linux行为准则
  19. 51NOD - 1677treecnt
  20. 操作系统练习题(2)

热门文章

  1. 泪目!跳槽太不容易了,美团4轮面试,四个小时灵魂拷问,结局我哭了!
  2. C语言字符串围棋盘放麦粒,围棋高手(民间)用C编写的围棋程序。
  3. 雨林木风操作系统有感
  4. Bzoj3583 杰杰的女性朋友
  5. 中小学理科试验仿真软件
  6. 快来直播:物联网的发展及其对就业市场的影响
  7. Node.js | 全栈开发必经之路
  8. 谷歌浏览器出现 HTTP ERROR 502
  9. 「Netty系列」使用wireshark对网络通信扑捉,进行三次握手和四次挥手原理分析(Netty前置二)
  10. jQuery如何通过点击按钮实现图片的切换,和超链接地址的跳转?