mybatis中如何将多个表的查询结果,放入结果集中返回
1、首先需要将resultMap进行改造,为了避免对其他sql的影响建议另外定义一个resultMapExtral,避免id相同,
2、然后在resultMapExtral中添加其它表的字段,若多个表中的字段名相同,要对查询结果和resultMapExtral中相同的字段另起别名,
3、最后另外定义一个实体bean接收结果。相当于重新定义一个包含所有返回字段的entity,而不能用原先单表的entity。(RccpWorkerCenterCapacityEntityExtral)
4、也可以直接返回JsonObject对象,不用返回entity,这样就不需要用resultMap了,更简单一些。
定义结果集:
<resultMap id="BaseResultMapExtral"
type="com.cybertron.service.rccp.entity.RccpWorkerCenterCapacityEntityExtral">
<id column="workcenter_capacity_id" jdbcType="INTEGER"
property="workercenterCapacityId" />
<result column="process_number" jdbcType="INTEGER" property="processNumber" />
<result column="product_name" jdbcType="VARCHAR" property="productName" />
<result column="product_id" jdbcType="INTEGER" property="productId" />
<result column="average_volume" jdbcType="INTEGER" property="averageVolume" />
<result column="single_process_time" jdbcType="DOUBLE"
property="singleProcessTime" />
<result column="change_model_time" jdbcType="DOUBLE" property="changeModelTime" />
<result column="product_prepare_time" jdbcType="DOUBLE"
property="productPrepareTime" />
<result column="take_down_time" jdbcType="DOUBLE" property="takeDownTime" />
<result column="unit_transport_size" jdbcType="DOUBLE"
property="unitTransportSize" />
<result column="s_resource_id" jdbcType="NUMERIC" property="sResourceId" />
<result column="ad_wf_node_id" jdbcType="NUMERIC" property="adWfNodeId" />
<result column="name" jdbcType="VARCHAR" property="workcenterName" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
<result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
<result column="modify_user" jdbcType="VARCHAR" property="modifyUser" />
<result column="isdelete" jdbcType="BOOLEAN" property="isdelete" />
<result column="isdefault" jdbcType="BOOLEAN" property="checkDefault" />
<result column="is_key_wc" jdbcType="BOOLEAN" property="isKeyWc" />
<result column="parent_product_id" jdbcType="NUMERIC" property="paproductId" />
<result column="parentProductName" jdbcType="VARCHAR" property="parentProductName" />
<result column="adWfNodeName" jdbcType="VARCHAR" property="adWfNodeName" />
</resultMap>
sql查询语句:
<select id="queryAll" resultMap="BaseResultMapExtral">
select
rwc.* ,mp.name parentProductName,awn.name adWfNodeName
from rccp_workcenter_capacity rwc,m_product mp,ad_wf_node awn
where mp.m_product_id=rwc.parent_product_id and awn.ad_wf_node_id=rwc.ad_wf_node_id
</select>
mybatis中如何将多个表的查询结果,放入结果集中返回的更多相关文章
- 在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可
在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可
- MyBatis中多对多关系的映射和查询
先说一下需求: 在页面上显示数据库中的所有图书,显示图书的同时,显示出该图书所属的类别(这里一本书可能同时属于多个类别) 创建表: 笔者这里使用 中间表 连接 图书表 和 图书类别表,图书表中 没有使 ...
- Mybatis中的Mapper.xml映射文件sql查询接收多个参数
我们都知道,在Mybatis中的Mapper.xml映射文件可以定制动态SQL,在dao层定义的接口中定义的参数传到xml文件中之后,在查询之前mybatis会对其进行动态解析,通常使用#{}接收 ...
- hive中创建hive-json格式的表及查询
在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...
- MyBatis中动态SQL语句完成多条件查询
一看这标题,我都感觉到是mybatis在动态SQL语句中的多条件查询是多么的强大,不仅让我们用SQL语句完成了对数据库的操作:还通过一些条件选择语句让我们SQL的多条件.动态查询更加容易.简洁.直观. ...
- mybatis中xml字段空判断及模糊查询
由于业务特殊的查询需求,需要下面的这种查询,一直感觉模糊不清,本地测试一下顺便做个总结 贴一段xml代码,如下: <if test="receivedName != null and ...
- 七十七、SAP中数据库操作之多表联合查询
一.我们看一下SFLIGHT表和SPFLI表,表结构如下 二.这2个表的数据如下 三.我们代码如下 四.多表联合查询结果如下
- SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 简单概述一下本讲 别名,sql片段简单写一下,模糊查询多写一点 一.别名 <typeAliases> ...
- 在Mybatis中使用注解@多个參数查询
@Select("SELECT * FROM wc_homework WHERE organization_id=#{classId} ORDER BY createtime DESC LI ...
随机推荐
- Mqtt paho 回调函数触发机制跟踪
Python Mqtt paho 回调函数触发机制跟踪,我使用的是 buildroot 里面的 mqtt paho , 代码在 ''' buildroot-2017.02.8/output/build ...
- RabbitMQ整合Spring Booot【消费者应答模式】
生产者代码不变,消费者: package com.toov5.Consumer; import java.io.IOException; import java.util.concurrent.Tim ...
- 413(Request Entity Too Large)
场景,在现金速达后台上传图片的时候,fetch请求报错,图片虽然不大,只有几百kb但是需要转成bese64传给后台, 413(Request Entity Too Large) 一开始以为是fetch ...
- 123456123456#1#---###3%%%----com.zzj.SuperPuperID668---前拼show后广--嘻哈水管工-111111
com.zzj.SuperPuperID668---前拼show后广--嘻哈水管工-1111111111111
- plsql if
set serveroutput on accept num prompt '请输入一个数字'; declare pnum number := # begin then dbms_ou ...
- Kubernates之从pod中拷贝文件到宿主机
想从k8s的pod中拷贝文件到宿主机,kubectl 的cp命令,但是网上搜索了下,感觉有点乱,自己记录下. hadoop这个namespace下,有个hadoop-hadoop-yarn-rm-0的 ...
- FPGA的配置方式
FPGA的配置方式 FPGA的配置方式有以下几种,JTAG,AS,PS,AP,FPP等几种. JTAG模式.JTAG模式下将.sof文件下载到FPGA内部的RAM内部进行运行,掉电程序丢失,主要用于前 ...
- 如何立即回收内存C#
C#如何立即回收内存 1.把对象赋值为null 2.立即调用GC.Collect(); 注意:这个也只是强制垃圾回收器去回收,但具体什么时候执行不确定. 代码: [System.Runt ...
- 从Asp .net到Asp core (第二篇)《Asp Core 的生命周期》
前面一篇文章简单回顾了Asp .net的生命周期,也简单提到了Asp .net与Asp Core 的区别,我们说Asp Core不在使用Asp.netRuntime,所以它也没有了web程序生命周期中 ...
- [转帖]Linux教程(11)- linux中的计划作业
Linux教程(11)- linux中的计划作业 2018-08-21 17:13:36 钱婷婷 阅读数 160更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...