Derby是Apache一个开源的、100% Java编写的、与平台无关的、易管理的关系数据库管理系统。

本页面主要目录有关于德比的:同名系统、Derby数据库等介绍

中文名

德比

解释

数据库管理系统

开始

—Run—CMD

补充

Java实现的内存数据库

同名系统

Derby为用户提供了轻量的标准数据库引擎,它可以紧密的嵌入到任何基于Java的解决方案中。Derby确保数据完整性,并提供负责的事务处理操作。默认的配置中不包含任何独立的数据库服务器。同时,Derby 的安装过程非常简单,只需要将其 .jar 文件复制到系统中并为您的项目添加该 .jar 文件即可。

Derby拥有一个令人惊奇的特性列表。它可以支持关系数据库中的所有企业级的特性,包括崩溃恢复、事务回滚和提交、行/表级锁、视图、主键/外键约束、触发器、子查询表达式,等等。一部分的列表特性使Derby从其他的Java 关系数据库管理系统中分离出来。

Derby可以有两种部署方式:

嵌入式:Derby被单个用户的Java应用程序使用,在这种模式下,Derby和应用程序运行在同一个JVM中。Derby对于终端用户几乎是透明的,因为它的启动和终止都是由应用程序来控制,而不需要任何的管理。

服务器模式:Derby由应用程序启动,此时通过用户可以通过网络连接。在这种模式下,Derby运行在服务器主机的JVM中。其他JVM的应用程序通过连接服务器来访问数据库。

Derby数据库

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

Derby数据库入门

1,下载并安装Derby:

下载地址:,下载最新版本。

我用的是10.5.3.0。

解压缩到任意文件夹,我的是:E:\Java\Joy\derby

2,配置环境变量:

建立DERBY_HOME,值:E:\Java\Joy\derby\db- derby-10.5.3.0-bin\db-derby-10.5.3.0-bin

在Path加入:%DERBY_HOME%\bin

在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar

3,测试看看Derby安装成功没有

开始—Run—CMD

运行 sysinfo

如果安装成功,将会看到相关信息,下面是截取的部分信息。

——— Derby 信息 ——–

JRE – JDBC: Java SE 6 – JDBC 4.0

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derby.jar] 10

.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbytools.ja

r] 10.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbynet.jar]

10.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbyclient.j

ar] 10.5.3.0 – (802917)

4,创建和使用数据库

打开命令行,进入想要放置数据库的目录,我的是:E:\Java\Joy \derby\Derby_data

然后输入ij

将会看到:

ij 版本 10.5

ij>

接下来就可以创建数据库了。

例:

创建firstdb数据库:

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

连接firstdb数据库:

ij> connect ‘jdbc:derby:firstdb’;

查询数据库等操作,只需要输入相应的Sql语句即可。

创建一个table:

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

插入数据:

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

在命令行测试一下:

select * from firsttable;

结果如下:

ID |NAME

——————————–

1 |Hotpepper

其它命令

断开连接:

ij> disconnect;

退出ij:

ij> exit;

5,在Java程序中使用Derby

首先要把相关的Derby jar包加进来(Build Path)。

把derby.jar加进来,如果没有加进来会出现“java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”错误

好了,下面写JAVA代码进行测试:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class Test {

private static String driver = “org.apache.derby.jdbc.EmbeddedDriver”;

private static String protocol = “jdbc:derby:”;

String dbName = “E:\\Java\\Joy\\derby\\Derby_data\\firstdb”;

static void loadDriver() {

try {

Class.forName(driver).newInstance();

System.out.println(“Loaded the appropriate driver”);

} catch (Exception e) {

e.printStackTrace();

}

}

public void doIt() {

Connection conn = null;

Statement s = null;

ResultSet rs = null;

System.out.println(“starting”);

try {

conn = DriverManager.getConnection(protocol + dbName

+ “;create=true”);

} catch (SQLException e) {

e.printStackTrace();

}

System.out.println(“Connected to and created database ” + dbName);

try {

s=conn.createStatement();

rs=s.executeQuery(“select * from firsttable”);

while (rs.next()) {

System.out.println(rs.getInt(1));

System.out.println(rs.getString(2));

}

} catch (SQLException e1) {

e1.printStackTrace();

}

try {

conn.close();

conn = null;

s.close();

s = null;

rs.close();

rs = null;

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

Test t = new Test();

t.loadDriver();

t.doIt();

}

}