一、介绍
MyDB是我在2009年12月底开始动手写作的,是一个纯java写的数据库管理器,目前只是一个实现基本功能的演示性框架,用来验证功能的可实现性。
整个应用包括三个部分,数据库服务器,数据库客户端,数据库驱动。目前这三部分已经都实现,但功能还不完整。
运行目录下的脚本,可以启动相应程序:
启动服务器:
server.bat
相应命令:java -classpath ./lib/mydb.jar;./lib/antlr-3.2.jar;./lib/commons-beanutils.jar;./lib/commons-collections.jar;./lib/commons-digester.jar;./lib/commons-pool.jar;./lib/metouia.jar;./lib/QSAdminGUI.jar;./lib/QuickServer.jar lions.mydb.server.Server
启动客户端:
client.bat
相应命令:java -classpath ./lib/mydb.jar;./lib/antlr-3.2.jar lions.mydb.client.Client
驱动:
使用方法:
Class.forName("lions.mydb.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mydb://localhost:3305/test", "", "");
Statement stmt = conn.createStatement();
//ResultSet rs = stmt.executeQuery("select * from test");
目前实现了以下几条基本指令:
create database
use
drop database
show databases
create table
drop table
show tables
select * from
insert into () values()
delete from
由于sql的完整规范比较复杂,要实现它需要日后不断地添加。目前感觉sql经常用到的也就几条,所以有想法对sql进行精减,只实现最常用的那几条,
同时增加一些方便日常操作的指令。
整个MyDB的开发时间都是我利用晚上22点到2点之间,以及周末的空余时间来进行的,因此进展缓慢,且效率不高。
计划在3年内将其实现完整,可以应用于实际生产环境。
MyDB采用的是纯java的技术实现,网络通讯部分,服务器使用了QuickServer框架,驱动使用的是常规的Socket技术,使用了antlr来解析sql语句,
数据库的业务处理部分是我自己写的,为了实现日后的功能,还需要做一定的细节调整。
二、版权声明
MyDB是本人在2009年底开始独立开发的应用,纯粹使用了自己投资的硬件,以及利用了自己的业余时间来进行开发的,本人拥有独立的全部的所有权,
除使用到的部分开源组件外,本人对MyDB保留所有权利,与其他公司无关,即使有功能相同的程序,也是本人独立实现的不同代码。其中使用到的组件
有:QuickServer, antlr。
任何人不得对MyDB进行反编译等逆向工程。
任何人不得将MyDB应用到未经允许的环境。
三、免责声明
MyDB目前功能还不完整,只提供用于研究,对于在应用中出现的任何问题,本人不承担任何责任。
2010年2月7日
瞿正峰
qq: 191506998
email: chinalions@sohu.com
上海
1