Apache Derby简单入门

2022-04-08 00:00:00 选择 数据库 模式 服务器 工程

一、了解Derby数据库
Apache Derby是一个完全用java编写的数据库,所以可以跨平台,但需要在JVM中运行。Derby是一个Open source的产品,基于Apache License 2.0分发。Derby初的原型产品叫做Cloudscape,1999被Informix收购,随后又随同informix一起被IBM收购。在很多IBM产品中也使用了Cloudscape作为内嵌数据库。2004年,IBM将Cloudscape赠送给了Apache,遂更名为Derby。Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以作为单独的数据库服务器使用,也可以内嵌在应用程序中使用。
二、下载Derby数据库及Eclipse插件的配置
可以访问http://db.apache.org/derby/derby_downloads.html下载derby,Derby的新官方版本是10.3.1.4,选择下载选择db-derby-10.3.1.4-bin.zip
在页面的下方有插件的下载链接:
derby_core_plugin_10.3.1.zip [PGP] [MD5]
derby_ui_plugin_1.1.1.zip [PGP] [MD5]
将其解压到Eclipse安装目录中的plugins目录即可,然后重新启动Eclipse。
在Eclipse创建一个Java工程,当然了也可以使用已经存在Java工程,在eclipse中可以为每个Java项目创建一个Derby环境,我们先看一下如为一个Java工程创建一个Derby环境。右键点击一个Java工程,选择“Apache Derby -->Add Aapche Derby Nature.完成后,该工程就具备了Derby环境,这个时候,你可以右键选择“属性”,在弹出的项面板中,选择“Apache Derby”,则右边会出现该工程中Derby的相关参数配置,你可以修改端口网络服务主机、端口以及数据的存放目录,一般来说保持默认即可。在配置好相关参数之后,你可以通过对该工程的Derby进行一些操作了,可以进行的操作有:
1)删除该工程的Apache Derby环境
2)启动Derby的网络服务器,Derby通过这个提供客户机/服务器模式的数据库访问
3)打开ij,ij是用来查看操作Derby数据库的一个方便的工具,支持命令行方式的访问,使用起来很方便,关于ij的一些语法,可以参考下载下来的二进制包中的/docs目录下面的ij相关的文档,写的很详细,这里就不多说了。
4)查看Derby系统信息
三、Derby应用实例
Derby可以做为轻量级数据库的一个缩影,轻量级数据库的一个非常显著的优点,就是安装简便,容易在一个较小的环境中支撑应用的开发与测试以及试运行。
Derby做为一种关系型数据库,支持两种连接访问模式,一种是内嵌式模式,一种式消息服务器模式,下面分些写一个程序予以说明:
程序一:客户机/服务器模式:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class ClientDerbyTest {    public static void main(String[] args) throws Exception {        String url = "jdbc:derby://localhost:1527/myDB;create=true";        String userName = "root";        String userPassWord = "lin";        Class.forName("org.apache.derby.jdbc.ClientDriver");        Connection connection = DriverManager.getConnection(url, userName, userPassWord);        Statement statement = connection.createStatement();        statement.execute("create table test1(id int,name varchar(20))");        statement.execute("insert into test1 values(3,'sinboy')");        statement.execute("insert into test1 values(4,'tom')");        ResultSet resultSet = statement.executeQuery("select * from test1");        while (resultSet.next()) {            System.out.println("id:" + resultSet.getInt(1) + " name:" + resultSet.getString(2));        }    } }




程序二:内嵌模式:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class EmbededDerbyTest {    public static void main(String[] args) throws Exception {String url = "jdbc:derby:derbyDB;create=true";        String userName = "root";        String userPassWord = "lin";        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");        Connection connection = DriverManager.getConnection(url, userName, userPassWord);        Statement statement = connection.createStatement();        statement.execute("create table test1(id int,name varchar(20))");        statement.execute("insert into test1 values(1,'sinboy')");        statement.execute("insert into test1 values(2,'tom')");        ResultSet resultSet = statement.executeQuery("select * from test1");        while (resultSet.next()) {            System.out.println("id:" + resultSet.getInt(1) + " name:" + resultSet.getString(2));        }    }}



注意,运行客户机/服务器模式的程序时,需要预先启动Dery的NetWorkServer,在eclispe中,在工程上点击右键,选择“Apache Derby”——>Start Derby Network Server,启动后之后,再运行程序一即可。对于程序二则不需要NetWorkServer,直接运行即可。

相关文章