JAVA教程之Java进修:HSQLDB文档(一)
不得不提一下的是:.net是看到java红,而开发出来的工具。最近研讨HSQLDB,就实验翻译了一下它的文档,这里贴出来和人人共享,接待人人和我交换:wwccff@163.net一甚么是HSQLDB?
HSQLDB具有以下特性:
是一个开放源代码的JAVA数据库
具有尺度的SQL语法和JAVA接口
HSQLDB能够自在利用和分发
十分简便和疾速的
具有内存数据库,自力数据库和C/S数据库三种体例
但是在APPLET中利用
更多的细节:
索引能够被创立和主动利用
撑持事件处置
同意表联系关系
完全性援用和束缚
撑持JAVA存储历程和函数
数据库能够天生SQL剧本
利用用户名,暗码,会见权限等平安机制
能够被JAVA1.1和JAVA2编译
创建在HypersonicSQL基本上的HSQLDB,是一个通用目标的数据库,十分的小,并且易于安装和利用。能够用于APPLETS中,测试中,使用体系中。
因为供应了尺度SQL和JDBC接口,HSQLDB能够便利的和其他数据库之间举行数据转换。
HSQLDB确当前最新版本是1.7.1,以紧缩包的情势供应,包含可使用的JAR文件,文档,源代码,测试程序,例子等。
二操纵形式先容
HSQLDB有两种操纵形式:
历程内形式(只用在统一个JVM里的使用程序才能够会见数据库)
C/S形式(多个盘算机/体系能够会见统一个数据库)
历程内会见形式
历程内会见形式也就是自力形式。这里的自力形式是相对C/S形式(客户端程序会见数据库服务器)而言的。这里,数据库和使用程序运转在统一个JVM下。这个时分的数据库实践上就是相称于被使用程序挪用的代码库。程序和数据库经由过程通用的JDBC挪用举行通信,可是这类挪用是外部挪用,不必要经由过程收集通信。
在这个形式下,统一工夫一个数据库只能有一个使用程序会见,不然,就要利用C/S形式(同意多个JVM大概盘算机在统一工夫会见统一个数据库)。
这类形式下的JDBC的URL以下:
jdbc:hsqldb:test
这里,test是数据库文件名。另外一个例子(WINDOWS体系下):
jdbc:hsqldb:c:dbest
C/S会见形式
这类形式下数据库和使用程序不是运转在统一个JVM历程下,而是有本人自力的历程大概是自力的呆板。不必要客户端程序进进服务器的文件体系。这类形式下的数据库操纵形式和一些年夜的数据库(好比SQLSERVER,ORACLE等)没甚么区分的。能够在INTERNET大概INTRANET。
HSQLDB除有本人的会见协定,还撑持尺度的HTTP协定,从而能够穿越防火墙大概代办署理服务器来会见数据库。
InallServermodestheactualdatabasefilenameisspecifiedintheJavacommandthatstartstheserver.Thiscanbethedot"."forall-in-memoryoperationorthepathforthedatabasename
服务器形式一共有三种:SERVER,WEBSERVER和SERVLET。
SERVER
这类形式下的通信协定是创建在TCP/IP基本上的HSQL专有协定。每一个客户端都有一个自力的毗连。这类形式的呼应速率长短常快的,假如利用C/S形式,应当更多的接纳这类服务形式。
这类形式下的JDBCURL是:
jdbc:hsqldb:hsql://hsqldbsrv
这里,hsqldbsrv是呆板称号。假如一台呆板上跑多个服务器,必要指定端口,比方:jdbc:hsqldb:hsql://hsqldbsrv:9002,假如是当地盘算机,则利用localhost:jdbc:hsqldb:hsql://localhost。
WEBSERVER
有些时分,因为防火墙大概代办署理服务器的存在,必要利用HTTP协定举行通信,体系供应一个小而复杂的WEBSERVER用来响应针对数据库的查询,比方:
jdbc:hsqldb:http://websrv
SERVLET
这类形式和WEBSERVER形式很相似,数据库运转在一个SERVLET里,而SERVLET能够运转在几近一切的WEBSERVER里。并且和JAVASERVLETEAPI兼容(测试情况是J2DK2.1)。这是经由过程收集间接会见的。假如你的SERVLET不克不及间接会见这个数据库,就不要利用这类形式。
全内存会见(All-In-Memory)形式
所谓全内存会见形式,就是一切的数据(包含索引和纪录)都保留在主内存里。这意味着数据库的巨细是遭到内存巨细的限定的(不克不及凌驾内存的巨细)。撑持这类形式的缘故原由是:
在非日记形式下,这类形式略微快些
能够在APPLET下利用
用来存储一时数据(使用体系的数据缓存)All-In-Memory
JDBCURL以下:
jdbc:hsqldb:.
内存和硬盘分离会见形式
在这类形式下,数据库的改动会写进到硬盘中,这就意味着在数据库启动时,内存里的表会依据他们的数据从头创立。大概说,能够创立表来保留数据,在会见数据库时,只要大批纪录时保留在内存里的。能够在创立的时分利用 是一种语言,用以产生「小应用程序(Applet(s)) 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 是一种使网页(Web Page)产生生动活泼画面的语言 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 是一种为 Internet发展的计算机语言 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
页:
[1]