数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询
Mybatis之数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询
- 外部数据
- 当前项目表格数据(表名:service_info)
- 将外部数据转为Table表格,与service_info关联查询
- 结语
标题很绕,我也没想好怎么命名,所以这里详细说明一下。
某些数据可能并不是存储到当前项目的数据库中,所以我们无论通过合种方式获取到的数据,都需要进行当前项目的某些业务模块的表进行关联,如果我们不想通过程序进行关联,只需要将这些数据通过sql语句转换为数据库表,然后再与当前项目的业务模块的数据库表进行关联查询(JOIN等),这样查询会省去自己分页、排序等麻烦的操作,使用Mybatis的分页、排序等功能就可以,方便很多,废话不多说,看案例吧。
外部数据
[{serviceId: '001',callTime: 100,failureTime: 3,successTime: 97,health: 0.97}, {serviceId: '002',callTime: 300,failureTime: 30,successTime: 270,health: 0.98}, {serviceId: '003',callTime: 500,failureTime: 60,successTime: 440,health: 0.89}
]
当前项目表格数据(表名:service_info)
[{id: '001',serviceName: '服务001'}, {serviceId: '002',serviceName: '服务002'}, {serviceId: '003',serviceName: '服务003'}
]
将外部数据转为Table表格,与service_info关联查询
以下是在Mybatis的xml文件中使用
select si.id AS id,si.name AS name,tmp.success_time AS successTime,tmp.failure_time AS failureTime,tmp.call_time AS callTime,tmp.health AS health
from service_info si
left join (<foreach collection="list" item="item" index="index" separator="union">select'${item.service_id}' as id,'${item.successTime}' as success_time,'${item.failureTime}' as failure_time,'${item.callTimes}' as call_time,'${item.health}' as health</foreach>
) tmp on si.id = tmp.id
order by success_time desc
结语
通过以上的案例,其实就是一种特殊场景的使用而已,所以并不一定会使用到,这里只是自己记录一下。
数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询相关推荐
- 导入数据的sql语句,两表互导
导入数据的sql语句,两表互导 insert into Product(C_ID,Pname,Ptitle,Ptype,IsProduct,onLine,FisrtSort,SecSort,Sort, ...
- mysql查询主键sql语句_MySQL数据库-表操作-SQL语句(一)
1. 数据库操作与存储引擎 1.1 数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...
- 用sql语句对数据库表中的数据进行增删改
如何使用sql语句对mysql数据库中表的数据进行增删改 这里新创了一个school数据库,在下面创建一张名为student表,创建student表的sql语句代码如下: #使用school数据库 u ...
- 使用 OPEN SQL 语句读取数据库表数据的一个补充练习
首先按照本系列前一篇文章如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据介绍的步骤,创建两个数据库表: 上图 ZPERSON 表里,包含了5条记录,分别代表5个人的 ID 和 名称. ...
- sql获取oracle数据库数据,通过sql语句获取数据库的基本信息
您可以通过以下几个sql 可以立即了解系统的状况和数据库的状态(仅献给习惯使用sql/plus的人 呵呵 ) (1) 查询oracle 的物理结构 1.1. 查看数据文件 SQL> select ...
- Oracle数据库初学者:sql语句创建数据库表空间,建表语句
1. 表空间的创建 表空间的创建,格式: create tablespace 表空间名 datefile '路径名/表空间名.dbf' size 60M(初始空间大小为:60M) autoextend ...
- MySQL删除s表命令_SQLServer数据库sql语句中----删除表数据drop、truncate和delete的用法...
本文主要向大家介绍了SQLServer数据库sql语句中----删除表数据drop.truncate和delete的用法,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 虽 ...
- 18.sql server横向切分、纵向拆分表、相对平均分配数据、复杂sql语句、数据库存储原理(by-朝夕)
Database 数据库分库分表 1.横向切分 分库分表案例 需要定义规则来选择表 查询: 规则: 2.纵向拆分表 3.相对平均分配数据 复杂Sql语句 一条Sql语句执行的全过程: 你们觉得数据库是 ...
- 28_数据库_第28天(数据库、表及表数据、SQL语句)
今日内容介绍 1.MySQL数据库 2.SQL语句 01数据库概念 A: 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增 ...
最新文章
- 如何用Python实现多任务版的udp聊天器
- Confluence 6 服务器硬件要求指南
- 4.6 W 字总结!Java 11—Java 17特性详解
- QT-X11-3.1.2.tar.bz2的使用
- GLUT及其函数的用法整理
- Windows下的cmd小技巧
- Java设计模式——桥模式
- 关于「无人驾驶」的学习路线...
- 开大你的音响,感受HTML5 Audio API带来的视听盛宴
- C++设计模式-中介者模式
- 关于Unable to load annotation processor factory 的故障
- Apache整合Tomcat(转)
- DonkeyCar树莓派版的实践
- android版信用卡还款提醒器
- Java的发展 Java在不同系统下的开发环境 Java语言特性 Java实现跨平台
- ios跨线程通知_iOS通知线程处理 - osc_3m34anq6的个人空间 - OSCHINA - 中文开源技术交流社区...
- 微信企业号(公众号)开发流程汇总
- 漫漫软考路-考后总结
- 如何oracle调试存储过程
- 数据结构课程设计-(五)行车路线(图的应用)
热门文章
- Java——第二次上机(第二部分)
- 回归:最小二乘法求解回归模型代码
- matlab 压缩感知矩阵_【精读】基于MATLAB的钢筋下料优化算法
- 【转】类别catagory的用法
- Routing and Switching Essentials ( 版本 6.00) - RSE 6.0 Chapter 5 Exam
- mysql事务的隔离c_Mysql事务处理与隔离级别 -cyy
- 四则运算之结对作业报告
- three.js入门到实战
- webscraper多页爬取_Web Scraper 翻页——抓取「滚动加载」类型网页(Web Scraper 高级用法)| 简易数据分析 10...
- js打印html表格内容,js实现简单的打印表格