mysql 查询两张表结构相同的数据库_利用反射处理多个表结构相同的数据的查询和数据库表的关联...
最近做一个项目,需要对人口数据进行查询,但是人口数据分布在不同的街道表中,首先进行了数据表结构的统一,每个数据表以街道名开头,然后其他的名字都一样
前期将各个表中的字段也进行了统一
抽象出一张字典表
将街道编号和街道的名字的首字母连接起来,因为查询的时候是利用街道编号来的,这样可以根据街道标号拼出相对于的街道表的名字,(每个人口相关的表不止一张,因此需要统一);在查询过程中,将查询到的结构返回一个LIST,(不同的表在dao中当然对于不同的类啊,返回来再判断是哪一类),然后利用反射Field[] fields = List.get(i).getDeclaredDields()获得具体的属性。拼出json文件返回前台。
这还不算,很多信息需要关联其他表,比如社区信息,社区信息需要根据街道信息才能查出来,但是不在同一张表中,因此反射回来以后,根据结果中的街道信息,再关联其他表求社区信息,刚开始的时候总出错,原来是我在设计对应的forms,数据库结果的java类时,申明与社区有关的信息在前,而街道在后,那么反射回来遍历属性的时候,先遍历到社区相关信息,而不是街道,就不能根据街道求出社区具体信息所在的表,社区相关信息也就没有又有意义了。
同时在数据库中拼sql语句时,发现在直接在语句里加参数,而不是通过参数数据进行传参时,需要加单引号啊
另外,=与in是不一样滴
附:
用的表有,
人口基本信息表 jiedao1peopleinfo;字段 名,性别,为了方便返回来以后我去求社区,我加了街道编号字段,社区相关信息1
社区表:社区名,编号
关联表:社区关联信息1,社区表的编号
字典表:街道编号,街道首字母
为了方便,我将所有表名字进行规范化,查询的时候,通过街道编号,查到街道首字母,这样就可以找到相关街道的人口表,社区表,关联表
返回人口信息里面的内容,然后我需要向前台返回名,性别,街道,社区,这样我还需要根据返回的街道编号,求出相关街道对应的表,定位到这个街道的关联表,根据前台给出的关联信息,找到社区表编号,再根据编号,找到社区名。
如果前台没有给参数,我就需要从多个街道取数据,这样关联起来几百个表,我直接新建立一个表,将人口基本信息统一到一张表里,直接插用
insert into table_c
select * from table_b
union
select * from table_a
开始还可以,但是后来有问题了,那个人口表里有日期数据,原来输入的时候输错了,格式不对,导致不能插入,这几十万条数据我不能一条一条看吧,我就只把用的数据插进去了,方法也简单,把星号换成具体的字段列名。
我通过街道编号是否存在来判断前台输入参数是否全面,通过这样建表,对于参数输入不确定的问题就解决了
mysql 查询两张表结构相同的数据库_利用反射处理多个表结构相同的数据的查询和数据库表的关联...相关推荐
- SqlServer+mysql查询两张表的相同和不同数据
sqlserver 在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和INTERSECT运算符比较两张表的数据. INTERSEC ...
- Mysql如何对两张表的相同字段,同时查询两张数据表
前言 假设现在有两张数据表 表1如下: 表2如下: 表1和表2同时都再mysql的情况下,只有他们的uuid是一样的,其他字段信息不同,现在需要用sql语句根据uuid,同时将符合要求的数据查询出来, ...
- mysql 左连接两张表_mysql左连接右连接(查询两张表不同的数据)
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 : right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: inner join(等值连 ...
- mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)
第一章绪论 Ⅰ.学习要点 1.准确掌握数据.数据库.数据库系统.数据库管理系统等基本术语.概念: 2.数据独立性的概念.分类及实现途径: 3.数据模型的概念.分类.要素及作用: 4.数据库三级模式体系 ...
- MySQL的两张表的七种Join查询
SQL的语法格式如下 SELECT DISTINCT< select_list > FROM< left_table > < join_type > JOIN &l ...
- access如何查询两张表的内容_为什么可以的话,不要使用星号 *,而是相应的字段名来进行查询 MySQL内连接如何选择驱动表
参考: 掘金小册juejin.im 首先要了解单表查询方法,也就是explain中出来的,ref,index,const,all之类的. 然后了解index查询方法,也就是在联合索引中,条件不是第一 ...
- mysql如何两个表取差集_mysql 查询两张表的差集
今天在做一个小功能的时候,遇到了需要取两个表的差集,本来可以直接通过两次查表然后通过代码去处理. 由于我个人比较喜欢减少数据库交互,所以在网上查了下关于mysql两个表取差集的方案.但是发现很多的 差 ...
- mysql查询两张表的同一列_如何快速查找两个数据表之间的相同和不同?
原标题:如何快速查找两个数据表之间的相同和不同? 知识 随笔 案例 声音 其他 编者按 工作中经常会遇到对来源不同的数据进行比对,查找相同.不同.差异性等.过于复杂的需求,我们通常会转换思路,使用数据 ...
- oracle 查询两张表合并,oracle的多表合并查询-工作心得
刚刚开发需求写了个SQL,记个笔记,学习下关于数据库的多表合并查询的用法 select t.* from A t UNION ALL/UNION/Intersect/MINUS select s.* ...
最新文章
- mysql定制化_【MySQL技巧】定制你的MySQL命令行-阿里云开发者社区
- 第二阶段冲刺--团队站立会议03
- 汽车全景标定(拼接)效果的检验方法
- java 钩子_java中钩子方法的概念
- 前端学习(507):垂直居中的第二种方式的优缺点
- 我的react+material-ui之路
- Python中fastapi构建的web项目使用pyinstaller打包为exe文件
- django进阶05中间件
- [开源]快速构建验证码
- 第二篇、python进阶篇
- 幼儿园观察记录的目的和目标_幼儿园教育活动内容实施中的观察与记录有何目的...
- 基于51单片机的对讲机原理图PCB程序设计
- Oracle中文乱码
- 关于程序员的调查报告
- my97日期范围限制
- 重装系统后usb失效如何处理
- CCNP之IGP学习笔记(2022)
- MS project中的完成百分比、工时完成百分比和实际完成百分比
- C. The Intriguing Obsession
- 林轩田《机器学习基石》资源汇总(视频+学习笔记+书)
热门文章
- 定时任务 Scheduled quartz
- Android 仿微信多张图片选择器,适配android10系统,open failed: EACCES (Permission denied)
- newcondition java_Java并发Condition接口
- js react根据几个颜色点计算区间任意数值对应颜色
- 数据结构实验三 树的遍历生成树
- pytorch之with torch.no_grad
- conda虚拟环境中安装ipython
- 【C++深度剖析教程31】被遗弃的多重继承
- 位运算实现一些小算法
- bzoj1051[kosaraju算法]求强连通分量