关于表关联数据几种展示方法
我们一般在数据库用主外建关联多张表,下面就是给大家演示当两张表关联的时候的几种展现方式:
查询到表关联数据大致可以分为两类
一、封装一个实体类
封装一个实体类就是把两张表的数据都封装到一个实体类里,然后在配置文件中用resultMap把两张表的数据封装起来,下面有两张表:
实体类:
// 注意:使用mybatis时实体类id要和数据库字段名一致
@TableId("id")private Integer id;/*** 花种的id*/
// @TableField("flowerId")
// private Integer flowerId;/*** 花种名称*/@TableField("name")private String name;/*** 上传人*/@TableField("updateUser")private Integer updateUser;/*** 上传时间*/
// @DateTimeFormat(pattern = "yyyy-MM-dd")@TableField("orderTime")private String orderTime;/*** 花种颜色*/@TableField("colour")private Integer colour;/*** 图片展示*/@TableField("photo")private String photo;
然后在配置文件中配置resultMap标签属性:
<!-- 通用查询映射结果 --><resultMap id="BaseResultMap" type="com.website.system.model.Flower"><result column="id" property="id" /><result column="name" property="name" /><result column="orderTime" property="orderTime"></result><result column="colour" property="colour"></result><result column="photo" property="photo"></result></resultMap><!--查询全部花种信息--><select id="findAll" resultMap="BaseResultMap">SELECT f.*,t.* FROM test_flower fLEFT JOIN test_flower_type tON t.f_id=f.id</select>
二、封装两个实体类
当封装两个实体类就是每张表分别建立一个实体类,然后在主表实体类里/封装一个关联表实体类/为属性,有两种展示方法:
1)在serviceImpl实现类里把关联表数据注入进去(推荐使用)
public List<Flower> findAll() {List<Flower> flowerList = flowerMapper.findAll();for (Flower flower : flowerList) {Integer id = flower.getId();FlowerType flowerType = flowerTypeMapper.findFlowerType(id);flower.setFlowerType(flowerType);}return flowerList;}
2)在配置文件中配置resultMap:
<!-- 通用查询映射结果 --><resultMap id="BaseResultMap" type="com.website.system.model.Flower"><result column="id" property="id" /><result column="name" property="name" /><result column="orderTime" property="orderTime"></result><result column="colour" property="colour"></result><result column="photo" property="photo"></result><association property="flowerType" javaType="com.website.system.model.FlowerType"><id column="type_id" property="typeId"></id><result column="orderTime" property="orderTime"></result><result column="photo" property="photo"></result><result column="uploadUser" property="uploadUser"></result></association></resultMap>
注意:如果是单个实体类属性resultMap标签里用<association property="实体类属性名" javaType="实体类类名">
,如果是集合实体类属性resultMap标签里用<collection property="实体类属性名" ofType="实体类类名">
。
关于表关联数据几种展示方法相关推荐
- HBase查询一张表的数据条数的方法
HBase查询一张表的数据条数的方法 文章目录 HBase查询一张表的数据条数的方法 0.写在前面 1.HBase-Shell的count命令 2.Scan操作获取数据条数 3.执行Mapreduce ...
- c# mysql executenonquery_c#数据四种执行方法(ExecuteNonQuery)-----转载
c#数据四种执行方法(ExecuteNonQuery) 1.使用ExecuteReader()操作数据库 2.使用ExecuteNonQuery()操作数据库 3.使用ExecuteScalar()操 ...
- mysql 删除语句多表关联_MySQL多表关联数据同时删除sql语句
MySQL多表关联数据同时删除sql语句 有需要的朋友可参考. DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 代码如下 1 delete from t1 wher ...
- 多表关联查询两种方法
简单总结一下,方便以后查看 A表(mxg_category) B表(mxg_label) B表的category_id 关联A表的ID 通过A表查询B表的id和name,并赋别名 label_id 和 ...
- oracle多表联合查询更新,ORACLE 两表关联更新三种方式
不多说了,我们来做实验吧. 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致. 方式1,u ...
- mysql表关联_MySQL表关联的几种常用方式
工作中我们经常会使用表与表关联来查询数据,如果对join 不熟悉,可能会得到我们不想要的节过,这里就来介绍下join的几种常用方法: 建表及插入数据, CREATE TABLE school ( sc ...
- 异常数据4种剔除方法_数据分析系列 22/32 | 9种常用的数据分析方法
要使各种结构化的.非结构化的.海量的数据实现标准化.信息化,能够提供业务绩效评估.业务决策支持等要求,我们首先需要进行数据分析. 同时,围绕业务问题,采用合适的分析方法,分析模型,以及分析工具,这是数 ...
- MySQL多表关联数据同时删除sql语句
DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 代码如下 复制代码 1 delete from t1 where 条件 2 delete t1 from t1 wh ...
- 输出九九乘法表——python(两种解决方法,嵌套循环的使用)
用python输出九九乘法表 --------------------两种解决方法 在平时做题时会遇到让我们输出九九乘法表对于这类问题我们可以先做出输出一个直角三角行的形状,在以上的基础上就行代码的修 ...
最新文章
- 《精通Nginx》——1.2 从源代码安装Nginx
- GitHub控件之BadgeView(数字提醒)
- zeppelin报错master is set as yarn, but spark.submit.deployMode is not specified
- xor方程组消元 UVA 11542 Square
- 前端学习(2331):angular之图片的使用
- 排序算法:直接插入排序算法实现及分析
- html5shiv主要解决IE6-8 无法识别HTML5的新标签,父节点不能包裹子元素,以及应用CSS样式...
- 深度学习笔记(一)——初步理解yoloV3原理
- Linux分区的那些方案
- [Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类
- Xshell5免费版安装使用说明
- IT 常用词汇(一)
- 前端事件练习之轮播图代码
- MFC基础之字符集,Unicode字符集,多字节字符集
- ubuntu18.04安装tftpd服务器
- *明确插件的功效*千千静听听音效插件使用介绍及相关下载
- 特征点法光流法直接法
- 周伟焜挥别IBM 一个时代结束
- 135编辑器图片裁切功能
- 一个完美的JS加密和解密程序
热门文章
- 计算机的自动播放功能有什么用,电脑问题---关闭自动播放功能.doc
- python用opencv实现图片的移入移出,4 用python进行OpenCV实战之图像变换1(平移)
- 三星android测试机,三星远程真机调试介绍
- 那些年和我一起睡的男人
- 工厂验厂前到底需要准备哪些?
- 计算机主机功率,电脑主机功率一般多大
- 我收集的个性印品网站
- [计算机专业英文术语]Malware Payload, 正确的中文名应该是什么?
- uni-app 如何区分当前是什么小程序呢?
- android模拟M卡,Android模拟SD卡实现方法解析