java自带的数据库怎么用,能不能给一段运行的通的代码.(包括import)

java自带的数据库怎么用,能不能给一段运行的通的代码.(包括import),第1张

你是指javaDB Derby吗?Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。

Derby数据库有两种运行模式:

1) 内嵌模式。Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;

2) 网络模式。Derby数据库独占一个JVM,做为服务器上的一个独立进程运行。在这种模式下,允许有多个应用程序来访问同一个Derby数据库。

在Apache上,Derby有4种发布包,这里以bin发布包为例。bin发布包中含有包含了执行derby数据库工具、设置derby数据库环境的脚本文件、Demo、jar文件等。

希望帮到你……

1、 安装Derby数据库

只需要从Derby官方网站下载Derby的zip或者tar包,解压就可以了。这里以db-derby-10413-bin版本为例,解压后得到以下目录:

1) bin目录,包含了一些工具脚本和设备环境的脚本;

2) demo目录,包含了一些实例程序;

3) docs目录,包含了Derby的文档;

4) javadoc目录,包含了Derby的API文档;

5) lib目录,包含了Derby数据库的jar文件;

6) test目录,Derby的一些测试jar包;

2、 使用Derby脚本

Derby提供了几个脚本来 *** 作Derby数据库,在使用这些脚本前,你必须先设置好Derby的运行环境。

下面的例子都是在命令行下设置环境变量,这些设置都是临时的,如果你新开一个命令行窗口,则需要重新设置一遍,如果想要使环境变量永久生效,可以在我的电脑中进行设置。

首先设置好DERBY_HOME这个环境变量,为DERBY_HOME指定你的derby目录,假如你的derby解压到了E:\ db-derby-10413-bin目录下,则可以在命令行中如下设置:

set DERBY_HOME=E:\ db-derby-10413-bin

将DERBY_HOME\bin目录添加到PATH环境变量中:

set path=%DERBY_HOME%\bin;%PATH%

这样可以简化你稍后在命令行中的输入,否则你每次都必须使用脚本的全路径或者你必须到DERBY_HOME\bin目录中才能执行脚本。

最后需要Derby的jar包添加到classpath环境变量中,在DERBY_HOME%\bin目录中提供了几个脚本用于设置classpath,以简化你手工在classpath中添加jar包的麻烦:

1) setEmbeddedCP。当使用内嵌模式来运行Derby时,可以使用该脚本来设置。该脚本将derbyjar和derbytoolsjar添加到环境变量中;

2) setNetworkServerCP。当使用网络模式来运行Derby时,用该脚本来设置Derby服务端的classpath变量。该脚本将derbynetjar添加到环境变量中;

3) setNetworkClientCP。当使用网络模式来运行Derby时,用该脚本来设置Derby客户端的classpath变量。该脚本将derbyclientjar和derbytoolsjar添加到环境变量中。

一般只有当你通过derbyrunjar来运行Derby工具时才会使用这些脚本。

Derby提供了三个工具脚本:1)sysinfo;2)ij;3)dblook。运行这三个脚本时,如果你没有设置classpath环境变量,这些脚本会自动进行设置。

1) sysinfo

使用sysinfo可以显示你的Java环境信息和Derby的版本信息。使用方法就是在命令行下直接输入:

sysinfobat

2) dblook

使用dblook可以将全部或者部分数据库的DDL定义导出到控制台或者文件中。使用方法:

dblookbat –d <sourceDBUrl> [Options]

3) ij

使用ij工具来进行数据库交互,执行SQL脚本,如查询、增删改、创建表等等。在命令行下输入:

ijbat

即可启动ij工具,然后就可以开始执行SQL脚本了。当要退出ij工具时,在命令行下输入

exit;

即可。

3、 使用ij脚本

1) 运行内嵌模式的Derby数据库

在命令行中输入ijbat后启动ij工具。然后通过如下命令创建数据库,并与数据库创建连接:

connect ‘jdbc:derby:firstdb;create=true’;

通过connect命令可以与指定数据库创建连接,通过一个JDBC URL来指定与哪个数据库创建连接。ij命令是不区分大小写的。

参数中jdbc:derby是Derby数据库的驱动协议;firstdb是数据库命,由于没有指定路径,数据库将会被创建在当前你命令行下所在的目录下;create=true表示如果数据库不存在,则创建该数据库;“;”是ij命令的终止符。

当数据库创建成功时,Derby会在当前你命令行下所在的目录下创建一个与数据库命一致(这里是firstdb)的目录,其中存放了数据库的文件。

与数据库连接上后,就可以开始执行SQL脚本了,如创建一个表格:

create table firsttable(id int primary key, name varchar(20));

然后插入记录:

insert into firsttable values(1, ‘Hotpepper’);

也可以执行查询:

select from firsttable;

也可以通过run命令来执行sql文件:

run 'E:\derby\demo\programs\toursdb\ToursDB_schemasql';

最后通过exit;来退出ij工具。

你可以在当前你命令行下所在的目录中找到一个derbylog的日志文件,derby在其中记录的数据库启动、关闭的信息。

2) 运行网络模式的Derby数据库

这种模式下,需要使用两个控制台窗口,一个用于启动Derby数据库服务端,另一个做为访问Derby数据库的客户端。

可以通过DERBY_HOME\bin目录下的startNetworkServerbat来启动Derby数据库服务端,只需要在命令行中输入:

startNetworkServerbat

数据库就启动了,启动成功会在控制台输出如下信息:

已使用基本服务器安全策略安装了安全管理程序。

Apache Derby Network Server - 10413 - (648739) 已启动并且已准备好 2008-09-06

00:38:12540 GMT 时在端口 1527 上接受连接

在另一个控制台使用ij命令访问Derby数据库服务端,在输入ijbat启动ij工具后,通过如下命令建立与服务端的连接,并创建一个数据库:

connect 'jdbc:derby://localhost:1527/seconddb;create=true';

参数中的数据库命部分和内嵌模式不同,这里使用了“//localhost:1527/”,访问网络模式的URL需要指定服务器的IP地址和端口,其它的就和内嵌模式一样了。

与服务端连接上后,就可以开始执行SQL脚本了,如创建一个表格:

create table firsttable(id int primary key, name varchar(20));

然后插入记录:

insert into firsttable values(1, ‘Hotpepper’);

也可以执行查询:

select from firsttable;

也可以通过run命令来执行sql文件:

run 'E:\derby\demo\programs\toursdb\ToursDB_schemasql';

最后通过exit;来退出ij工具

4、 在Java应用程序中访问Derby数据库

使用Java代码访问Derby数据库与访问其它数据库的区别如下:

1) JDBC驱动的不同;

2) 数据库连接URL的不同;

3) 在访问内嵌模式数据库时,需要显示关闭数据库。

下面分别实例访问内嵌模式和网络模式Derby数据库的代码

1) 访问内嵌模式Derby数据库

String driver = “orgapachederbyjdbcEmbeddedDriver”;

String url = “jdbc:derby:firstdb;create=true”;

Connection conn;

try {

ClassforName(driver);

conn = DriverManagergetConnection(url);

}catch(Exception e) {

……

}finally {

……

DriverManagergetConnection("jdbc:derby:;shutdown=true");

}

建立好连接后,其它的数据 *** 作,如查询、更新数据都和其它数据库一样,这里不详述。有一点需要注意,通过Java应用程序访问内嵌模式Derby数据库时,应用程序有责任需要在程序结束时关闭Derby数据库,如上面代码finally中的

DriverManagergetConnection("jdbc:derby:;shutdown=true");

shutdown参数用于关闭Derby数据库,如果url中指定了数据库命,则只会关闭指定的数据库,而不会关闭整个Derby数据库。数据库关闭成功时,Derby会抛出一个错误码为XJ015和一个08006的异常表示关闭成功,应用程序可以不处理这两个异常。

2) 访问网络模式Derby数据库

网络模式和内嵌模式的不同出在于:

A. 数据库连接URL的不同;

B. 应用程序退出时无效关闭Derby数据库;

C. 数据库驱动的不同;

String driver = “orgapachederbyjdbcClientDriver”;

String url = “jdbc:derby: //localhost:1527/firstdb;create=true”;

Connection conn;

try {

ClassforName(driver);

conn = DriverManagergetConnection(url);

}catch(Exception e) {

……

}

由于网络模式下,Derby数据库做为一个独立运行的数据库,可以被多个应用程序所访问,所以应用程序在运行结束时不应该关闭Derby数据库。

新安装了 jdk 6 的程序员们也许会发现,除了传统的 bin、jre 等目录,jdk 6 新增了一个名为 db 的目录。这便是 java 6 的新成员:java db。这是一个纯 java 实现、开源的数据库管理系统(dbMS),源于 Apache 软件基金会(asf)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于 asf 强大的社区力量,Derby 得到了包括 ibm 和 Sun 等大公司以及全世界优秀程序员们的支持。这也难怪 Sun 公司会选择其 1022 版本纳入到 jdk 6 中,作为内嵌的数据库。这就好像为 jdk 注入了一股全新的活力:java 程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。在这一章中,我们将初窥 java db 的世界,来探究如何使用它编写出功能丰富的程序。

在开发分布式应用程序时 可用性与性能是主要考虑事项 但是用数据存储解决这些问题可能会给异构数据存储之间的数据同步带来一些问题 在本文中 Jayanthi Suryanarayana 和 Neil Tunnicliffe 将提供一种解决方案 用 JDBC 和 SyncML 标准来实现通用的数据库数据复制 在设计分布式应用程序时 必须考虑可用性与性能 一般的解决方案是在客户机系统上包含数据存储 通常 由于资源有限 客户机需要一个轻量级数据存储 这种方法为异构数据存储之间的数据同步带来了挑战 这个问题的一种解决方案是采用基于 java 的方法 用 JDBC 和 SyncML 标准进行异构数据库复制 复制概述复制是在两个环境之间复制全部或部分数据库的过程 为了保持一致 对源数据库所做的更改要传播到复制的数据库中 复制可以是单向的 也可以是双向的 双向复制可能更困难一些 因为对任何数据库所做的更改都可能产生不一致的数据 当这些更改在两个数据库之间传播时 需要有一个策略来调解这些差异 以便维护一致性 ID 处理作为复制的基本需求 我们需要惟一地标识将要复制的每个数据单元 对于双向复制 还需要一个能够标识数据库之间对应数据单元的映射方案 根据复制的需求 可以采用各种各样的方案 对于单向复制 主数据库可以要求为数据单元生成 ID 对于双向复制 必须根据应用程序的 ID 生成方案定义映射方案 ID 生成方案与映射方案可以是每个数据库使用的 ID 编号的相互排斥范围 在这个范围内 ID 编号是正好匹配的 更复杂的示例中可能包括 ID 生成服务或者特定于数据库的方案 在这种情况下 必须在数据库之间维护 ID 的映射 变化检测 复制过程中的下一步是找出哪些数据单元已经更改 在关系数据库中 可以用附加字段来记录数据单元的状态和状态变化的时间戳 或者 也可以使用触发器使部分变化检测过程自动化 附加到表上的插入/更新/删除触发器可以检测到对数据单元所做的更改 并在更改日志表中记录这些更改 这样就可以用变更记录表(change log table)确定在任何指定时间上对数据单元所做的更改 复制 复制的目标是产生公共数据集的多个一致的副本 为了实现这个目标 必须交换每个数据库中检测到的更改 并使它们一致 在这里 您面临着一个设计上的挑战 您可以作出如下选择 表示将交换的那些更改的数据格式 传输机制 例如 >

以上就是关于java自带的数据库怎么用,能不能给一段运行的通的代码.(包括import)全部的内容,包括:java自带的数据库怎么用,能不能给一段运行的通的代码.(包括import)、Java语言运用derby数据库实现成绩查询管理系统,百分急求可追加、用SyncML进行异构数据库复制技巧等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9288250.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存