几个月前,受一位老师的委托,要帮他做一个关系数据库模式信息提取的小项目,主要的功能实现就是将关系数据库的表结构和字段的信息通过表格的形式展示出来。我通过从网上搜集资料以及翻书查找,先实现了一个mysql的数据提取器。先给大家分享一下。稍后的几天内会把另一个mysql关系模式提取器给大家分享。

一.功能介绍:

本程序主要用来实现对mysql数据库里的表数据信息进行提取,可以方面快捷地查看各个数据库和不同的模式和表之间的数据信息。

二.实现过程:

       1..采用Native Protocol Pure-java驱动程序, 可以通过使用特定于供应商的网络协议来直接与数据库进行交互,导入一个提供此驱动程序的jar包,并在主函数中注册此驱动。主要代码如下:

MySQL抽取到hudi mysql数据抽取工具_schema

运行程序,显示如下登录页面,在userid栏中输入mysql数据库的用户名root,在password栏里输入mysql数据库密码123456,在url栏中输入连接mysql数据库的url,例如:jdbc:mysql://127.0.0.1:3306/test。之后,如果点击取消按钮,则退出系统;点击登录系统,则进行判断,在输入的用户名,密码或URL有错误的时候,弹出错误消息提示框进行提示,只有正确输入后才能进入数据显示页面。

MySQL抽取到hudi mysql数据抽取工具_mysql_02

MySQL抽取到hudi mysql数据抽取工具_schema_03

MySQL抽取到hudi mysql数据抽取工具_jdbc_04

点击确定按钮后,清空以前错误信息,光标定位在userid列。主要代码如下:

MySQL抽取到hudi mysql数据抽取工具_数据库_05

MySQL抽取到hudi mysql数据抽取工具_mysql_06

MySQL抽取到hudi mysql数据抽取工具_MySQL抽取到hudi_07

        3.成功登录后,信息初始化页面是默认选择登录的数据库名称,假如URL中用到的是Test数据库登录,则默认选择test数据库,Schema和Table都是此库中的第一条数据。如果为空,下拉框控件显示为不可用状态。

MySQL抽取到hudi mysql数据抽取工具_数据库_08

如果URL文本框中改为jdbc:mysql://127.0.0.1:3306/onlinexam,则点击登录后弹出的主页面为

MySQL抽取到hudi mysql数据抽取工具_MySQL抽取到hudi_09

整个页面由三部分组成,采用BorderLayout布局管理器,北面是查询的Panel,中间是数据库表信息的显示Panel,南面是退出面板的Panel。

MySQL抽取到hudi mysql数据抽取工具_数据库_10

Panel中,通过catalog下拉框选择不同的数据库,自动初始化schema用户和table表,如果为空,则不显示数据,且下拉框不可用。Catalog下拉框,Schema下拉框,Table下拉框监听事件程序为:

MySQL抽取到hudi mysql数据抽取工具_mysql_11

Panel的表数据信息的查询:

MySQL抽取到hudi mysql数据抽取工具_mysql_12

MySQL抽取到hudi mysql数据抽取工具_MySQL抽取到hudi_13

MySQL抽取到hudi mysql数据抽取工具_schema_14

下面展示实现的情况.

MySQL抽取到hudi mysql数据抽取工具_jdbc_15

AbstractTableModel类,采用一般的方式创建TableModel实现。TableModel类负责显示表格含有的行数和列数,当创建并显示表格时,getRowCount()方法和getColumnCount()方法会立即被调用。它将数据缓冲到内存,显示的速度更快一些。

MySQL抽取到hudi mysql数据抽取工具_schema_16

3.如果点击EXIT退出按钮,则系统退出。主要代码实现:

MySQL抽取到hudi mysql数据抽取工具_jdbc_17

三.结束。