大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> Java学习:HSQLDB文档(一)

Java学习:HSQLDB文档(一)

时间: 2021-07-31 作者:daque

迩来接洽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:\db\test c/s考察形式这种形式下数据库和运用步调不是运转在同一个jvm过程下,而是有本人独力的过程大概是独力的呆板。 不须要存户端步调加入效劳器的文献体例。这种形式下的数据库操纵形式和少许大的数据库(比方sql server,oracle等)没什么辨别的。不妨在internet大概intranet。hsqldb除去有本人的考察和议,还扶助规范的http和议,进而不妨穿梭风火墙大概代劳效劳器来考察数据库。in all server modes the actual database file name is specified in the java command that starts the server. this can be the dot "." for all-in-memory operation or the path for the database name效劳器形式所有有三种:server,webserver和servlet。server这种形式下的通信和议是创造在tcp/ip普通上的hsql私有和议。每个存户端都有一个独力的贯穿。这种形式的相应速率利害常快的,即使运用c/s形式,该当更多的沿用这种效劳形式。这种形式下的jdbc url是: jdbc:hsqldb:hsql://hsqldbsrv这边,hsqldbsrv是呆板称呼。即使一台呆板上跑多个效劳器,须要指定端口,比方:jdbc:hsqldb:hsql://hsqldbsrv:9002,即使是当地计划机,则运用localhost:jdbc:hsqldb:hsql://localhost。webserver有些功夫,因为风火墙大概代劳效劳器的生存,须要运用http和议举行通信,体例供给一个小而大略的webserver用来相映对准数据库的查问,比方:jdbc:hsqldb:http://websrvservlet这种形式和webserver形式很一致,数据库运转在一个servlet里,而servlet不妨运转在简直一切的webserver里。并且和java servlete api兼容(尝试情况是j2dk2.1)。这是经过搜集径直考察的。即使你的servlet不许径直考察这个数据库,就不要运用这种形式全外存考察(all-in-memory)形式所谓全外存考察形式,即是一切的数据(囊括索引和记载)都生存在主外存里。这表示招数据库的巨细是遭到外存巨细的控制的(不许胜过外存的巨细)。扶助这种形式的因为是:在非日记形式下,这种形式略微快些不妨在applet下运用用来保存偶尔数据(运用体例的数据缓存)all-in-memoryjdbc url如次:jdbc:hsqldb:. 外存和硬盘贯串考察形式在这种形式下,数据库的变换会写入到硬盘中,这就表示着在数据库启用时,外存里的表会按照她们的数据从新创造。大概说,不妨创造表来生存数据,在考察数据库时,惟有小批记载时生存在外存里的。不妨在创造的功夫运用'create cached table'来包办'create table'。进而扶助大表(那些表的记载对立于外存来说太大了)。被缓存的表的索引也不妨生存到硬盘中。所以,数据库的巨细就不妨不遭到外存巨细的控制。加入缓存表要比从外存内外获得数据要慢些。从1.7.0本子发端,扶助第三种形式:数据不妨保存在文本文献(如csv方法的文献)中。对应的语句时:'create text table'。在封闭数据库前,暂时状况会被生存到磁盘中。缓存表中的数据会被生存到一个独立的文献中。启用hsqldb时,数据库从磁盘中载入数据(sql剧本被实行),即使数据库被破坏(比方运用ctrl+c大概断电),数据也不会丧失。这是由于当下度数据库从新启用时,它运用剧本回复到迩来一次(有剧本文献的那次)的状况。搀和绑定形式一切的形式都不妨在一个步调里运用,体例不妨在一致功夫运用这四种形式,去贯穿四种各别的数据库,比方:c1=drivermanager.getconnection("jdbc:hsqldb:.","sa",""); c2=drivermanager.getconnection("jdbc:hsqldb:test","sa","");c3=drivermanager.getconnection("jdbc:hsqldb:http://dbserver","sa",""); c4=drivermanager.getconnection("jdbc:hsqldb:hsql://dbserver","sa","");在这个例子中,四个贯穿被翻开:c1是外存数据库;c2翻开的是当地数据库test;c3运用http和议贯穿dbserver数据库;c4也是贯穿dbserver呆板,然而运用的是更快的hsql和议。这边的控制即是:惟有一个过程内的全外存过程是可用的比拟每种形式或摆设都有各别的详细和是非两个上面:工作处置对于webserver和servlet形式而言,因为http和议是无状况的,所以,每个查问数据库都创造新的贯穿。历次查问都须要发送用户名和暗号到数据库中,而后创造一个新的贯穿,同声也创造一个新的工作(由于工作是绑定到贯穿中的)。不妨运用’cookies’,然而此刻还没有实行。并发考察server形式承诺体例和处置东西(比方databasemanager同声考察数据库)。数据库本能优化成分外存数据库不须要考察体例,所以是最快的。其余形式的数据库须要考察文献体例,每个insert/update/delete操纵都要生存到磁盘中,所以速率慢些。即使select和delete查问掷中了缓存表的消息,则速率简直和外存表速率一律快,要不就要慢很多(由于要和操纵体例的文献体例交互)。每个statement的传输功夫在server形式,每个statement都须要经过tcp/ip和议传递到效劳端,而后将截止归来到存户端。而webserver和servlet形式则须要更多的功夫,由于历次statement都须要从新创造贯穿。相比较的,过程内形式则是在一个体例里面传递数据,就快多了。以applet办法运转这即是全外存操纵(根源:csdn)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.