思路:在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脚本连接获取数据库中的值相关推荐

  1. html使用thymeleaf模板时,获取数据库中字符串值,拆分为list根据下标获取对应的值的方法

    1. 需求 html使用thymeleaf模板时,获取数据库中字符串值,拆分为list根据下标获取对应的值的方法 2. 方法 2.1 参考官网:https://www.thymeleaf.org/do ...

  2. server sql 数据总行数_SqlServer中获取数据库中每个表的行数

    CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT I ...

  3. Java中获取数据库中两个时间的相差秒数

    场景 Java中获取数据库中结束时间与开始时间相差的秒数. 实现 Long betweenTime=0l;betweenTime =((b.getFinishTime().getTime()-b.ge ...

  4. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

  5. java向mysql写入数据慢_通过java代码往mysql数据库中写入日期相关数据少13个小时...

    通过show variables like '%time_zone%'; 查看时区: CST 时区 名为 CST 的时区是一个很混乱的时区,有四种含义: 美国中部时间 Central Standard ...

  6. 基于Java线程池读取数据库中数据(学习+运用)

    基于Java线程池读取数据库中数据(学习+运用) 以下是学习内容 Main.java import java.util.concurrent.ArrayBlockingQueue; import ja ...

  7. php 获取数据库中的信息,php获取数据库中数据的实现方法

    废话不多说,直接上代码 header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "lo ...

  8. Java JDBC 连接MySQL数据库方法(IJ版)

    Java JDBC 连接MySQL数据库方法(IJ版) 首先说一下IJ建立项目步骤: 1.新建一个Empty Project 2.新建一个Module 3.在src里新建一个Package 4.在Pa ...

  9. android 读取mysql中的图片_Android 通过API获取数据库中的图片文件方式

    Overview 今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示. 开发环境以及技术 使用Visual Studio 2019 Android Stu ...

最新文章

  1. log4jdbc mysql jdbc_spring boot 集成log4jdbc 查看完整sql
  2. 应不应该使用inline-block代替float
  3. 【转】NHIBERNATE的各种保存方式的区别 (SAVE,PERSIST,UPDATE,SAVEORUPDTE,MERGE,FLUSH,LOCK)
  4. synchronized原理_Java并发编程 -- synchronized保证线程安全的原理
  5. 这个自然语言处理“工具”,玩得停不下来
  6. win8能开发android的sdk么,Win8下Android SDK安装与环境变量配置教程
  7. Activiti 多个并发子流程的应用
  8. bzoj4419 [Shoi2013]发微博 差分
  9. 52 - 算法 - 数据结构 vector
  10. zbb20170919 设置eclipse myeclipse 在工程窗口 项目目录 显示代码错误提示的
  11. DynamipsGUI笔记
  12. C#异步加载数据:BackgroundWorker的使用
  13. 【FatFs】FAT32文件系统协议总结(理论+实践)
  14. 《信号完整性分析》的读书笔记和总结
  15. 全球顶级的14位程序员大神!
  16. Docker安装PHP-FPM5.6 (自带redis扩展,Mysql扩展,GD库扩展(支持JEPG))
  17. JSP编译指令-page
  18. Macbook如何打开Chrome调试工具Developer Tools
  19. 职场上情商高的人有什么特征,盘点职场上情商高的人必做的3件事
  20. 人工智能领域的计算机科学,主要包含哪些重要职位?

热门文章

  1. 数据结构—链表节点的添加和删除(二)
  2. 基于改进樽海鞘群寻优SVM的土壤含水量预测算法
  3. “lib32ncurses5 : Depends: libc6-i386 (>= 2.18) but it is not going to be installed”类似问题解决办法
  4. 【Mybatis】批量插入的多种方式
  5. 用计算机模拟掷骰子实验,数学建模与数学实验之计算机模拟.ppt
  6. The dependencies of some of the beans in the application context form a cycle: ┌──->──┐ | com.gith
  7. 示波器解析IIC通讯
  8. C语言个人帐本管理系统
  9. 出现依存服务不存在,或已被标记为删除的解决办法(亲试可行)
  10. 关于Mysql8.0免安装版本的密码设置问题