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 ...
随机推荐
- odoo开发笔记--form视图按钮样例
如图: 对应后台views视图,class可选内容值: class="oe_highlight" class="btn-xs" class="btn- ...
- vue---定义全局变量或函数
开发项目的时候,有很多的东西需要重复使用,例如函数或者变量等,例如网站服务器地址,token等,这时候就需要设置一波全局变量和全局函数 定义全局函数 原理 新建一个模块文件,然后在main.js里面通 ...
- JVM常用命令和性能调优建议
一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程 ...
- 必须要注意的 C++ 动态内存资源管理(五)——智能指针陷阱
必须要注意的 C++ 动态内存资源管理(五)——智能指针陷阱 十三.小心使用智能指针. 在前面几节已经很详细了介绍了智能指针适用方式.看起来,似乎智能指针很强大,能够很方便很安全的管理 ...
- 【交互】抖音VS快手
从能量节约,懒惰的人性本质角度来分析,有点意思. https://www.ui.cn/detail/506135.html
- docker 删除含有指定字符的container
docker container ls -a|grep 指定字符 | awk '{print $1}'| xargs -I{} docker rm {}
- python:封装连接数据库方法
config.py # 数据库测试环境 name = '***' password = '******' host_port_sid = '10.**.*.**:1521/bidbuat' Oracl ...
- 第07组 Beta冲刺(3/4)
队名:秃头小队 组长博客 作业博客 组长徐俊杰 过去两天完成的任务:学习了很多东西 Github签入记录 接下来的计划:继续学习 还剩下哪些任务:后端部分 燃尽图 遇到的困难:自己太菜了 收获和疑问: ...
- web应用中实现同一个账号,后面登录的会把前面登录的挤下线
在web应用中假如没有做会话控制,会出现这样的情况,A登录了账号,B也登录了账号,都是同样的账号,A修改了信息,B会看到修改的信息,这样的用户体验不好,B会觉得我没有修改啊,为什么信息会改变.而做会话 ...
- Pandas的基础操作(一)——矩阵表的创建及其属性
Pandas的基础操作(一)——矩阵表的创建及其属性 (注:记得在文件开头导入import numpy as np以及import pandas as pd) import pandas as pd ...