一个HelloWorld版的MySQL数据库管理器的设计与实现(源码)
2011年,实习期间写了一个简单的数据库管理器。
今天,特意整理了下,分享给大家。
有兴趣的同学,可以下载源码,瞧瞧。
源码只有4个类:LoginGUI,DatabaseGUI,Record,MySQLModel。
1.LoginGUI
该类就是一个简单的登录窗口,输入用户名、密码、数据库路径,如果登录成功,跳转到管理界面。

2.DatabaseGUI
DatabaseGUI构造了管理器的核心管理界面,并响应用户事件。
功能主要有3个:
a.显示数据库列表和该数据库下的表列表。
b.查询并显示一个表的结构。
c.执行SQL查询,显示查询结果到表格中。

3.Record
Record是一个简单的实体类,封装了一个数据库和该数据库下的所有表名称。
// 数据库名称
private String database;
// 该数据库下的所有表的名称
private List<String> tables;
4.MySQLModel
封装了MySQL查询的一些信息。
// 查询连接
private Connection con;
// 查询语句
private String query;
// 查询结果集
private List<Record> records = new ArrayList<Record>();
实现细节
1.构造图形界面。
使用的是Java Swing,用的是JFrame、JButton、BorderLayout等最基本的用户界面和布局组件。
2.获得一个表的结构。
查询一个表的列信息,根据数据库元数据和结果集元数据来构造表的结构。
//数据库元数据
DatabaseMetaData dbmd = con.getMetaData();
//结果集
ResultSet rs = dbmd.getColumns(database, null, table, null);
//结果集元数据
ResultSetMetaData rsmd = rs.getMetaData();
3.执行查询结果。
根据sql语句,执行查询,把结果集填充到Table中。
总结
这个数据库管理器的确是HelloWorld版的,功能很简单,适合初学者。
有兴趣的,可以下载源码自己瞅瞅瞧瞧。
下载地址:http://download.csdn.net/detail/fansunion/6425881
原文参见:http://FansUnion.cn/articles/2609
一个HelloWorld版的MySQL数据库管理器的设计与实现(源码)的更多相关文章
- 一步步实现windows版ijkplayer系列文章之七——终结篇(附源码)
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- 21 BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类
21_BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类 BasicTaskScheduler基本任务调度器 BasicTaskScheduler基 ...
- MySQL数据库企业级应用实践(多实例源码编译)
MySQL数据库企业级应用实践(多实例源码编译) 链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ 提取码:ekpy 复制这段内容后打开百度网盘手机 ...
- springmvc拦截器入门及其执行顺序源码分析
springmvc拦截器是偶尔会用到的一个功能,本案例来演示一个较简单的springmvc拦截器的使用,并通过源码来分析拦截器的执行顺序的控制.具体操作步骤为:1.maven项目引入spring依赖2 ...
- MySQL安装(yum、二进制、源码)
MySQL安装(yum.二进制.源码) 目录 1.1 yum安装... 2 1.2 二进制安装-mysql-5.7.17. 3 1.2.1 准备工作... 3 1.2.2 解压.移动.授权... 3 ...
- Struts2SpringHibernate整合示例,一个HelloWorld版的在线书店(项目源码+详尽注释+单元测试)
Struts2,Spring,Hibernate是Java Web开发中最为常见的3种框架,掌握这3种框架是每个Java Web开发人员的基本功. 然而,很多初学者在集成这3个框架的时候,总是会遇到各 ...
- 一个基于php+mysql的外卖订餐网站(带源码)
订饭组 一个基于php+mysql的外卖订餐网站,包括前端和后台.源码地址 源码演示地址:http://dingfanzu.com 商家后台系统:http://dingfanzu.com/admin ...
- Linux 下编译Android-VLC开源播放器详解(附源码下载)
这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...
- 2-14 MySQL初步认识,及CentOS6.8环境,源码方式安装MySQL
什么是数据库: 存放数据的仓库RDBMS-->(Relational Database Management System) 关系型数据库管理系统DBMS--->(Database Man ...
随机推荐
- RabbitMQ笔记(3)
消息从产生--->结束 1.生产者--->交换机--->队列--->消费者 2.生产者--->交换机--->队列 首先: 生产者:Exchange = n:1 Ex ...
- 【原创】Linux下的ngix服务器安装步骤
1.首先下载ngix的源码linux版本[1.5.8版本] http://nginx.org/en/download.html 2.下载PCRE library,是安装ngix的必备包之一 [root ...
- unserialize反序列化错误的解决办法
1. UTF-8编码解决反序列化出错问题 function mb_unserialize($serial_str) { $serial_str = str_replace("\r" ...
- 关于深度残差网络(Deep residual network, ResNet)
题外话: From <白话深度学习与TensorFlow> 深度残差网络: 深度残差网络的设计就是为了克服这种由于网络深度加深而产生的学习效率变低,准确率无法有效提升的问题(也称为网络退化 ...
- IIS支持10万个同时请求的设置
1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为65535. IIS Manager > ApplicationPools > Advanced Settings Queu ...
- pagination使用说明
参考自张鑫旭 准备工作 下载jquery.min.js 下载jquery.pagination.js 下载pagination.css 开始敲代码 第一步,引入刚刚下载的三个文件 <link r ...
- Linux 重启防火墙失败
CentOS 7 执行service iptables start出现redirecting to systemctl ...Failed to ...not loaded. 如果出现以下错误,好像说 ...
- linux 连接 NAS
[root@kvm-server ~]# mount -o username=user01,password=1234567890 //192.168.31.20/share /mnt/nas Cou ...
- 搭建app自动化测试环境(一)
①:想实现自动化,第一步先安装python然后第二步安装selenium, 第三步安装JDK,然后J配置好JDK环境变量 JAVA_HOME C:\Program Files\Java\jdk1 ...
- 【POJ 3714】Raid
[题目链接]:http://poj.org/problem?id=3714 [题意] 给你两类的点; 各n个; 然后让你求出2*n个点中的最近点对的距离; 这里的距离定义为不同类型的点之间的距离; [ ...