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