第一个任务小结

2018-10-30  本文已影响0人  IHAVETEMPO

在忙碌的两个星期的时间里,终于在夹缝中,基本完成第一个小任务。

研究目的和意义:

    在实际应用中,我们所使用的各个系统所用使用的数据库是相互独立的,比如,学生的图书管理系统使用的是Oracle数据库,学生课程管理系统所使用的MySQL数据库,假如学校领导想要知道学生在对于自己所学习的课程的借书情况,这对于一般的系统就很难完成,因为通常一个系统只配置一种数据库,这就很难满足领导的需求。因此,本次任务的目的和意义在于,将存储在不同数据库的表根据某种关系建立连接,产生新的数据表,满足实际应用的需求。例如,将图书管理系统存储在Oracle数据库的[借书表] 和 学生课程管理系统存储在MySQL数据库中的[学生课程表] ,根据学生的学号建立连接,并分别在借书表和课程表选取所需的字段,建立一张新的表,来满足实际应用需求。

任务最终呈现结果如下:

    一、以http形式调用kettle服务下的bank_change.ktr文件,并在网页端用DataTables的jquery表格插件来显示数据,最终显示结果如图所示:

正确打开方式:

1.将已编辑好的bank_change.ktr放在安装Kettle的目录下,如图所示:

    其中bank_change.ktr中设计的步骤目标是将提取两个不同数据库的表,通过某个字段进行连接,通过字段选择,生成一张新的表,并以Json格式进行输出,如图所示:

2.开启Carte的服务器,允许远程请求HTTP进行监控、启动、停止在Carte服务上运行的job和trans

        (1) 在window下, 打开cmd,切换到kettle的根目录(我的根目录为D:\Kettle\data-integration)

    (2)开启一个web服务器,命令为:carte.bat 127.0.0.1 8081

    (3)开启成功一个服务,如图所示。

3.通过用Java请求数据。   

    (1)仅通过http形式调取数据,如图所示:

          1. 输入正确的调用地址http://localhost:8081/kettle/executeTrans/?trans=demo/bank_change.ktr,并需要填写正确用户名和密码,才能登录进去,默认用户名:cluster,密码:cluster。

            2.登录成功,将执行bank_change.ktr,并将结果以json形式返回数据,如图所示:

      (2)在已建好SpringBoot框架的基础上(搭建框架步骤这里不多介绍),使用Java调取数据

            方案一:使用URL进行访问

                1.  Java代码,如图所示

                2.访问结果出现401错误。

            3.错误401的原因是无权查看此页面,即使是在地址里添加用户名和密码。

        方案二:通过httpClient进行访问(翻烂N张网页后,终于找到解决问题的方法,参考地址

              1.  Java代码,如图所示: 

                2.访问结果,如图所示:

(3)需要将获取的数据,通过使用DataTables表格插件,呈现在网页上

              1.在项目中使用 DataTables,需要三步。官网教程:DataTables安装教程

                  步骤一:引入三个文件:jQuery库、DT的核心js文件、一个DT的css文件,如图:

                    步骤二:添加 HTML 代码

                    步骤三:初始化Datatables,通过Ajax获得数据,将所需的字段放在columns中。官网教程:如何读取Json格式的ajax的数据到表格

    通过以上正确的打开方式,即可以http形式调用kettle服务下的bank_change.ktr文件,并在网页端用DataTables的jquery表格插件来显示数据。

    二、将Kettle文件通过网页上传到Kettle服务的文件夹下,即,最终结果如图所示:

正确打开方式:

    (1)使用Bootstrap来编写网页样式,如图所示。Bootstrap教程

        (2)使用Java代码,将Kettle文件保存到某个目录下。

    通过以上正确的打开方式,即可将某份文件上传到某个目录下。

    存在不足之处:

        虽然目前可以通过DataTables插件来显示数据,但其显示的字段需要开发人员在前端编写好,而不能通过用户的操作,来选取所需的字段,这有待改进。

    以上,总结完毕。(写好一篇易理解的文章,需要花费好多心血啊!)

上一篇下一篇

猜你喜欢

热点阅读