Derby使用指南

来源:互联网 发布:拍照翻译作文软件 编辑:程序博客网 时间:2024/05/16 14:17
 

一.Derby介绍

Apache Derby是开源的,100% Java编写的,容易管理的关系数据库管理系统,它可以和一些商业产品的特性进行交付。

Apache Derby 是一个与平台无关的数据库引擎,它以 Java 类库的形式对外提供服务。与其他难以部署的数据库不同,安装 Derby 非常简单,只需要将其 .jar 文件复制到系统中并为您的项目添加该 .jar 文件即可。

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

        100% Java实现

        100% Java类型4 JDBC驱动

        SQL92E标准支持大部分SQL 99特性

      ACID完全的事务独立的事务支持

        J2EE支持JNDI,连接池和XA

        视图,临时表和保存

        BLOB和CLOB数据类型

        行和表锁定

        有价值的基本查询优化

        服务器端指示约束

        触发器和存储过程

        为服务器端函数,触发器或存储过程等操作在数据库里存储Java代码

        能排除CD-ROM里的只读数据库

        数据的导入和导出

        快速数据库加密选项

您可以采用两种模式来部署和运行Derby:

在嵌入式模式(embedded mode)中,Derby只处理来自与应用程序使用的JVM相同的JVM的请求。在采用嵌入式模式来使用Derby时,应用程序会在启动和关闭时分别自动启动或停止关系引擎。Derby包的derby.jar文件(2MB)包含了Derby 数据库引擎和嵌入式JDBC驱动程序。嵌入式模式的主要优点是不需要进行网络 和服务器设置。因为你的应用程序包含了Derby引擎,使用者并不知道你使用了一个关系数据库。这点很适合我们现在桌面工具的使用要求。

在网络服务器模式(network server mode)中,Derby会处理来自不同JVM的应用程序请求。或者,如果您喜欢使用Perl、PHP、Python或C来编写程序,那么您也可以部署一个Derby网络服务器,并通过各种语言特有的模块连接到这个服务器上,例如Perl的DBI(Database Interface)和PHP的ODBC(Open Database Connectivity)。Derby的derbynet.jar文件(0.2MB)包含了Derby Network Server。

另外,Derby提供了Eclipse的插件供开发人员使用,下面将介绍插件的安装及使用。

二.Derby安装与使用

1.软件的下载

你可以在Derby的官方网站下载,同时也可以下载Derby的两个Eclipse插件:derby_core_plugin和derby_ui_plugin;在下面使用前,请安装好JVM 1.4.x或更高版本;以及Eclipse 3.x。

2. Derby的Eclipse的插件安装与使用。

安装插件

   Derby插件的安装与其他Eclipse插件安装类似,只需要将之前下载的两个插件解压到Eclipse plugins目录下,然后重新启动Eclipse即可。 :

使用插件

   在使用该插件前,我们先创建一个Java项目,取名为DerbyDemo,然后在Package Explorer视图选择该项目,单击右键选择菜单[Apache Derby]->[Add Apache Derby Nature].

   接下来是配置Derby相关属性,在Package Explorer视图选择项目单击[Properties]在左边的属性列表中选择Apache Derby;并将 Derby 的主目录设为不同于项目根目录的某个目录,例如D:/derbyDB.

配置完毕后,我们就可以启动Derby服务器了,在Package Explorer视图选择项目单击[Apache Derby]->[Start Derby Network Server];控制台将输出Derby的启动信息,启动就完成。

同样的,Derby 服务器的关闭也是类似的,在Package Explorer视图选择项目单击[Apache Derby]->[Stop Derby Network Server]。

2.嵌入运行模式

将derby.jar 和derbytools.jar导入工程

下面是连接数据库的代码片断,和其他数据库基本一样,create=true表示创建一个新数据库

1 import java.sql.Connection;

2 import java.sql.DriverManager;

3 import java.sql.ResultSet;

4 import java.sql.Statement;

5

6 public class TestDerbyBaisc {

7    public static void main(String[] args) {

8        try {         

9            Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();//加载驱动

10            Connection conn = DriverManager.getConnection("dbc:derby:TESTDB;create=true");//连接数据库

11            Statement st = conn.createStatement();

12            st.execute("create table USER_INFO (ID INT NOT NULL,NAME VARCHAR(10) NOT NULL)");//建表

13            st.executeUpdate("insert into USER_INFO(ID,NAME) values (1,'hermit')");//插入数据

14            st.executeUpdate("insert into USER_INFO(ID,NAME) values (2,'test')");//插入数据

15             ResultSet rs = st.executeQuery("select * from USER_INFO");//读取刚插入的数据

16            while(rs.next()){

17                int id = rs.getInt(1);

18                String name = rs.getString(2);

19                System.out.println("ID="+id);

20                 System.out.println("NAME="+name);

21            }

22        } catch(Exception e){

23            e.printStackTrace();

24        }

25    }

26 }

参考:http://db.apache.org/derby/

原创粉丝点击