kettle 使用java脚本连接获取数据库中的值
思路:在kettle中通过设置自定义常数来获取java脚本的值,在kettle的libswt\win64目录下放入用到的含有java.sql中的类的jar包rt.jar, 在 java脚本中像正常java一样写代码连接数据库。可惜这样查询到的结果会将之前的结果给覆盖,需要再做处理。
整的流程:
自定义常量数据:
java代码:import java.sql.*;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
if (first)
{
first = false;
}
String urlString = get(Fields.In, "urlString").getString(r);
String driverName = get(Fields.In, "driverName").getString(r);
String usernameString = get(Fields.In, "usernameString").getString(r);
String passwString = get(Fields.In, "passwString").getString(r);
PreparedStatement pst = null;
ResultSet rs = null;
try {
Class.forName(driverName);
Connection dbconConnection = DriverManager.getConnection(urlString,usernameString,passwString);
String sqlString = "select * from tes";
pst = dbconConnection.prepareStatement(sqlString);
rs = pst.executeQuery();
while (rs.next()) {
String s = rs.getString(1);
String s2 = rs.getString(2);
get(Fields.In, "id").setValue(r, s);
get(Fields.In, "nm").setValue(r, s2);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
putRow(data.outputRowMeta, r);
return true;
}
java代码部分截图:
写日志:
kettle里jar包截图:
kettle 使用java脚本连接获取数据库中的值相关推荐
- html使用thymeleaf模板时,获取数据库中字符串值,拆分为list根据下标获取对应的值的方法
1. 需求 html使用thymeleaf模板时,获取数据库中字符串值,拆分为list根据下标获取对应的值的方法 2. 方法 2.1 参考官网:https://www.thymeleaf.org/do ...
- server sql 数据总行数_SqlServer中获取数据库中每个表的行数
CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT I ...
- Java中获取数据库中两个时间的相差秒数
场景 Java中获取数据库中结束时间与开始时间相差的秒数. 实现 Long betweenTime=0l;betweenTime =((b.getFinishTime().getTime()-b.ge ...
- 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
<Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...
- java向mysql写入数据慢_通过java代码往mysql数据库中写入日期相关数据少13个小时...
通过show variables like '%time_zone%'; 查看时区: CST 时区 名为 CST 的时区是一个很混乱的时区,有四种含义: 美国中部时间 Central Standard ...
- 基于Java线程池读取数据库中数据(学习+运用)
基于Java线程池读取数据库中数据(学习+运用) 以下是学习内容 Main.java import java.util.concurrent.ArrayBlockingQueue; import ja ...
- php 获取数据库中的信息,php获取数据库中数据的实现方法
废话不多说,直接上代码 header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "lo ...
- Java JDBC 连接MySQL数据库方法(IJ版)
Java JDBC 连接MySQL数据库方法(IJ版) 首先说一下IJ建立项目步骤: 1.新建一个Empty Project 2.新建一个Module 3.在src里新建一个Package 4.在Pa ...
- android 读取mysql中的图片_Android 通过API获取数据库中的图片文件方式
Overview 今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示. 开发环境以及技术 使用Visual Studio 2019 Android Stu ...
最新文章
- log4jdbc mysql jdbc_spring boot 集成log4jdbc 查看完整sql
- 应不应该使用inline-block代替float
- 【转】NHIBERNATE的各种保存方式的区别 (SAVE,PERSIST,UPDATE,SAVEORUPDTE,MERGE,FLUSH,LOCK)
- synchronized原理_Java并发编程 -- synchronized保证线程安全的原理
- 这个自然语言处理“工具”,玩得停不下来
- win8能开发android的sdk么,Win8下Android SDK安装与环境变量配置教程
- Activiti 多个并发子流程的应用
- bzoj4419 [Shoi2013]发微博 差分
- 52 - 算法 - 数据结构 vector
- zbb20170919 设置eclipse myeclipse 在工程窗口 项目目录 显示代码错误提示的
- DynamipsGUI笔记
- C#异步加载数据:BackgroundWorker的使用
- 【FatFs】FAT32文件系统协议总结(理论+实践)
- 《信号完整性分析》的读书笔记和总结
- 全球顶级的14位程序员大神!
- Docker安装PHP-FPM5.6 (自带redis扩展,Mysql扩展,GD库扩展(支持JEPG))
- JSP编译指令-page
- Macbook如何打开Chrome调试工具Developer Tools
- 职场上情商高的人有什么特征,盘点职场上情商高的人必做的3件事
- 人工智能领域的计算机科学,主要包含哪些重要职位?
热门文章
- 数据结构—链表节点的添加和删除(二)
- 基于改进樽海鞘群寻优SVM的土壤含水量预测算法
- “lib32ncurses5 : Depends: libc6-i386 (>= 2.18) but it is not going to be installed”类似问题解决办法
- 【Mybatis】批量插入的多种方式
- 用计算机模拟掷骰子实验,数学建模与数学实验之计算机模拟.ppt
- The dependencies of some of the beans in the application context form a cycle: ┌──->──┐ | com.gith
- 示波器解析IIC通讯
- C语言个人帐本管理系统
- 出现依存服务不存在,或已被标记为删除的解决办法(亲试可行)
- 关于Mysql8.0免安装版本的密码设置问题