Kettle8.2查询组件之数据库查询

2024-02-12 07:38

本文主要是介绍Kettle8.2查询组件之数据库查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Kettle8.2查询组件之数据库查询

    • 一、相关说明
    • 二、设计转换
    • 三、转换配置
    • 四、运行转换
    • 五、结果分析

一、相关说明


  • 数据库查询组件说明:
    数据库查询就是数据库里面的左连接。
    左连接就是两张表执行左关联查询,把左边的表数据全部查询出来。

  • 需求说明:
    从sys_user表中读取数据,根据dep_id从sys_dept表获取dep_name,保存到Excel中。

  • 源表sys_user和sys_dept建表语句及数据如下:
    sys_user表:

    CREATE TABLE `sys_user` (`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',`dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',`user_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '用户账号',`nick_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '用户昵称',`user_type` varchar(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '00' COMMENT '用户类型(00系统用户)',`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '用户邮箱',`phonenumber` varchar(11) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '手机号码',`sex` char(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',`avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '头像地址',`password` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '密码',`status` char(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',`login_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '最后登录IP',`login_date` datetime DEFAULT NULL COMMENT '最后登录时间',`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '创建者',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '更新者',`update_time` datetime DEFAULT NULL COMMENT '更新时间',`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',PRIMARY KEY (`user_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=104 DEFAULT CHARSET=utf8 COMMENT='用户信息表';
    insert  into `sys_user`(`user_id`,`dept_id`,`user_name`,`nick_name`,`user_type`,`email`,`phonenumber`,`sex`,`avatar`,`password`,`status`,`del_flag`,`login_ip`,`login_date`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values (1,1000,'admin','苏江明','00','jiangming.su@niit.com.cn','18275128970','1','','$2a$10$hGYly8AzJ16SwMdEoeXrJ.y7E4Fa8xGUJOQAASukgN3omvRimdMFS','0','0','127.0.0.1','2021-02-05 00:07:00','admin','2021-02-05 00:07:00','',NULL,'管理员'),(2,1009,'ry','若依','00','ry@qq.com','15666666666','1','','$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2','0','0','127.0.0.1','2021-02-05 00:07:00','admin','2021-02-05 00:07:00','',NULL,'测试员'),(3,100,'suben','若兰幽竹','00','18275128970@163.com','18275128970','0','','$2a$10$EEcxXsKxffLdiPixY9ZBUuj6wSCKI.5IvCRs9iq.PJU62hucOQivy','0','0','',NULL,'admin','2021-02-05 23:35:07','',NULL,'我是测试'),(100,1009,'sjm','测试','00','cs@163.com','18276125432','0','','$2a$10$Ere5immfiBQv0mw8vAQPhu1FH6cgSB2t5/6GWxvPlk3lnVG8AlkVq','0','0','',NULL,'admin','2021-02-09 01:12:14','',NULL,NULL),(101,1003,'subenjiang','若兰幽竹','00','18275128971@163.com','18275128971','0','','$2a$10$hGYly8AzJ16SwMdEoeXrJ.y7E4Fa8xGUJOQAASukgN3omvRimdMFS','0','0','',NULL,'admin','2021-02-09 02:03:45','Santy','2021-02-09 02:12:52',NULL),(102,1003,'Santy','GNU-Leader','00','','','0','','$2a$10$OK5I7lynBI/KyXANgDthGuoVIKcxvzyp7gR5c5uPEuJSWSg1Pcff2','0','0','',NULL,'admin','2021-02-09 02:09:09','',NULL,NULL),(103,1010,'test001','test','00','','','0','','$2a$10$szYG85pPvjAv2W/YyvjoeOoHNHlSZkTfq2CDdASvJKJF2.qGwLmWi','0','0','',NULL,'admin','2021-02-16 16:24:30','',NULL,NULL);
    

    数据自行添加,可以参考如下:
    在这里插入图片描述

    sys_dept表:

    CREATE TABLE `sys_dept` (`dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id',`parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id',`ancestors` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '祖级列表',`dept_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '部门名称',`order_num` int(4) DEFAULT '0' COMMENT '显示顺序',`leader` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '负责人',`phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系电话',`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '邮箱',`status` char(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '部门状态(0正常 1停用)',`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '创建者',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '更新者',`update_time` datetime DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`dept_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1012 DEFAULT CHARSET=utf8 COMMENT='部门表';
    INSERT  INTO `sys_dept`(`dept_id`,`parent_id`,`ancestors`,`dept_name`,`order_num`,`leader`,`phone`,`email`,`status`,`del_flag`,`create_by`,`create_time`,`update_by`,`update_time`) VALUES (100,0,'0','若依科技',0,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:06:59','',NULL),(101,100,'0,100','深圳总公司',1,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:06:59','',NULL),(102,100,'0,100','长沙分公司',2,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:06:59','',NULL),(103,101,'0,100,101','研发部门',1,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:06:59','',NULL),(104,101,'0,100,101','市场部门',2,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:06:59','',NULL),(105,101,'0,100,101','测试部门',3,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:07:00','',NULL),(106,101,'0,100,101','财务部门',4,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:07:00','',NULL),(107,101,'0,100,101','运维部门',5,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:07:00','',NULL),(108,102,'0,100,102','市场部门',1,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:07:00','',NULL),(109,102,'0,100,102','财务部门',2,'若依','15888888888','ry@qq.com','0','2','admin','2021-02-05 00:07:00','',NULL),(1000,0,'0','NIIT中国',0,'Kamal','18616522950','kamal.dhuper@niit.com.cn','0','0','admin','2021-02-06 00:30:19','Santy','2021-02-16 16:02:53'),(1001,1000,'0,1000','贵州中心',6,'Santy','15261525132','santosh.pal@niit.com.cn','0','0','admin','2021-02-06 00:32:08','Santy','2021-02-16 16:02:53'),(1002,1000,'0,1000','重庆中心',2,'路易斯','18272727272','1616162@niit.com.cn','0','0','admin','2021-02-06 00:33:09','',NULL),(1003,1001,'0,1000,1001','贵州师范大学',1,'Santy','15261525132','santosh.pal@niit.com.cn','0','0','admin','2021-02-06 00:33:56','Santy','2021-02-16 16:02:53'),(1004,1001,'0,1000,1001','贵州电子校',2,'Santy','15261525132','santosh.pal@niit.com.cn','0','0','admin','2021-02-06 00:34:28','',NULL),(1005,1001,'0,1000,1001','贵州职业技术学院',3,'Santy','15261525132','santosh.pal@niit.com.cn','0','0','admin','2021-02-06 00:35:01','',NULL),(1006,1000,'0,1000','青岛中心',3,'王剑','18272828282','18181818@163.com','0','0','admin','2021-02-08 05:00:20','',NULL),(1007,1000,'0,1000','宁夏中心',4,'张三','18276542435','1872622@niit.com.cn','0','0','admin','2021-02-08 05:01:21','',NULL),(1008,1000,'0,1000','海南中心',5,'刘德才','17282727283','71171717@niit.com.cn','0','0','admin','2021-02-08 05:02:16','',NULL),(1009,1000,'0,1000','上海总部',1,'James','18276544567','james.li@niit.com.cn','0','0','admin','2021-02-08 05:22:46','',NULL),(1010,1003,'0,1000,1001,1003','教学部',1,'suben','18275128977',NULL,'0','0','Santy','2021-02-16 16:02:34','Santy','2021-02-16 16:02:53'),(1011,1003,'0,1000,1001,1003','教务部',2,'Nancy','18275128966',NULL,'0','0','Santy','2021-02-16 16:03:16','',NULL);
    

    数据自行添加,如下所示
    在这里插入图片描述

二、设计转换


  • 输入:表输入
  • 查询: 数据库查询
  • 输出:Excel输出
    在这里插入图片描述

三、转换配置


  • Step1:表组件配置

    • 双击组件,写上步骤名称等
    • 相关配置如下所示:
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述
  • Step2:数据库查询组件配置

    • 双击打开,设置步骤名称
    • 配置信息,如下
      在这里插入图片描述
      在这里插入图片描述
  • Step3:Excel输出组件配置

    • 双击打开,设置步骤名称
    • 配置信息,如下
      在这里插入图片描述
  • Step4:保存转换
    上述配置好后,点击确定即可!

四、运行转换


  • 点击运行按钮,成功运行如下:
    在这里插入图片描述

五、结果分析


  • 在Excel中查看结果
    在这里插入图片描述

  • Preview data 中查看结果
    切换到“Preview data页面”

    • 点击“数据库查询”,看到有请求结果数据
      在这里插入图片描述
  • 结果简单分析
    数据库查询组件本质上就添加了SQL语句的条件语句部分的值,取出前一个表输入的结果集中的某个关键字段的值作为其本身所查询的数据表的条件。本案例等价于如下的SQL语句:

    SELECT u.`dept_id`,u.`user_name`,u.`nick_name`,d.`dept_name` FROM sys_user u LEFT JOIN sys_dept d ON u.`dept_id` = d.`dept_id`
    

    其实表输入组件就可以完成这样的功能。但是在一些场景下亦可以使用数据库查询来完成复杂的功能。

这篇关于Kettle8.2查询组件之数据库查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702045

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

ural 1026. Questions and Answers 查询

1026. Questions and Answers Time limit: 2.0 second Memory limit: 64 MB Background The database of the Pentagon contains a top-secret information. We don’t know what the information is — you

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

Mybatis中的like查询

<if test="templateName != null and templateName != ''">AND template_name LIKE CONCAT('%',#{templateName,jdbcType=VARCHAR},'%')</if>

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,