`

Derby 数据库安装与配置

阅读更多
http://www.joyzhong.com/archives/558
http://licg1234.blog.163.com/blog/static/13908233320102247610214/

1          Derby数据库介绍
Derby是用纯Java写的一个事务、关系数据库,只占用很少的磁盘空间。Derby起源于CloudScape,后者是IBM从Informix获取的产品。在2004年,IBM决定将CloudScape开放源代码,使之成为Apache Software Foundation下的一个孵卵器项目,其名称为Derby。使用Derby的实际好处在于它需要最少的管理以及小的资源占用。磁盘上的数据库比较小,对于基本数据库,大约是2MB。管理最少的事实允许开发人员在代码中轻松地创建和使用数据库。这加速了开发。因为Derby支持归档在JAR文件中的数据库的存储,这使您只需分发JAR文件,因而部署变得如此轻松。

从2006年7月13日Java 6 JDK发布起,Derby就默认安装在C:\Program Files\Java\jdk1.6.0\db中,其中包含核心库、示范程序和示例数据库。
2          安装与配置
Derby官方主页:http://db.apache.org/derby/index.html
Derby下载页面:http://db.apache.org/derby/derby_downloads.html
       要安装Derby,你必须先从Derby的网站下载Derby最新版本的zip或者tar包。当前最新版本是db-derby-10.3.2.1-bin 。
发行版本有:
--二进制发行版包括了代码,示例程序和文档.已经优化了的jar文档在lib目录下
--lib发行版本包括了优化程序,部署Derby的最小jar的集合.
--lib-debug发行版本包括了调试Derby和报告问题的有用的最大集合.
--src发行版本包括了要来产生上面三个发行版的源文件.

安装Derby,只要把你下载的包文件解压到你指定的目录即可。
假定你下载的是二进制发行版。
解压下载的包,之后有以下几个子目录:
--demo包括了示例程序
--bin包括了运行和设置环境的代码
--javadoc包括了有源代码生产的aip文档
--doc包括了Derby文档
--lib包括了Derby的jar文件

根据Derby手册说明,配置Derby有几种方式:
1. 通过java命令运行安装目录lib相应的工具。
2. 通过运行Derby提供的脚本命令。先配置PATH环境变量指向Derby目录下bin目录,然后运行bin目录内相关批处理命令,即可。
3. 通过运行安装目录lib内的derbyrun.jar归档文件。
要手工通过Java命令运行Derby是很麻烦的,并且也不方便使用。可以将PATH环境变量指向Derby目录下bin目录,这时我们可以在其它地方也能过运行Derby。但是官方提供的相关处理脚本要配置环境变量比较多有点麻烦,需要指定CLASSPATH为:%Derby 安装目录%\lib\derby.jar; %Derby 安装目录%\lib\derbytools.jar; %Derby 安装目录%\lib\derbynet.jar; %Derby 安装目录%\lib\derbyclient.jar;。
为了不想多设置环境变量,我写了个批处理derbyrun.bat文件,只要将path指向该处理文件,就可以在任何地方运行Derby。注意:一定要将该文件放在安装目录bin下或者放在exec(自建目录)\derbyrun.bat
derbyrun.ba内容:

@echo off
@rem
@rem Derby Database Run Tools
@rem
@rem
@rem derbyrun.bat ij [-ppropertiesfile] [sql_script]
@rem derbyrun.bat sysinfo [-cp...] [-cp help]
@rem derbyrun.bat dblook [arg]*(or no arguments for usage)
@rem derbyrun.bat server [arg]*(or no arguments for usage)
@rem

@rem %~dp0 is expanded pathname of the current script under NT
set DERBY_HOME=%~dp0..

@rem echo "%DERBY_HOME%lib\derbyrun.jar"

rem Slurp the command line arguments. This loop allows for an unlimited number
rem of arguments (up to the command line limit, anyway).

set DERBY_CMD_LINE_ARGS=%1
if ""%1""=="""" goto beginRunCommand
shift
:setupArgs
if ""%1""=="""" goto beginRunCommand
set DERBY_CMD_LINE_ARGS=%DERBY_CMD_LINE_ARGS% %1
shift
goto setupArgs

:beginRunCommand
@rem run tools
java -jar "%DERBY_HOME%lib\derbyrun.jar" %DERBY_CMD_LINE_ARGS%


:end
set DERBY_CMD_LINE_ARGS=

运行数据库:
运行:<derbyrun
结果:
D:\temp\Download\db-derby-10.3.2.1-bin\bin<derbyrun
用法:
java -jar derbyrun.jar ij [-p propertiesfile] [sql script]
java -jar derbyrun.jar sysinfo [-cp ...] [-cp help]
java -jar derbyrun.jar dblook [args](或如果调用时没有使用参数,则可执行 jar 文
件将显示用法消息)
java -jar derbyrun.jar server [args](或如果调用时没有使用参数,则可执行 jar 文
件将显示用法消息)

注:derbyrun就相当于java -jar derbyrun.jar命令

运行:<derbyrun ij
结果:
D:\temp\Download\db-derby-10.3.2.1-bin\bin<derbyrun ij
ij 版本 10.3
ij<

然后运行创建数据库MyDBtest:
ij<Connect ‘jdbc:derby:MyDBtest;create=true’
在上面的Url中指定create=true,则创建一个新的数据库。
连接该数据库:
ij< Connect 'jdbc:derby:MyDBtest;';
ij(CONNECTION1)<

这时就可以运行相应SQL语句,进行数据库操作。该步骤为单用户嵌入式数据库操作。

让Derby运行在服务器模式下:
启动服务器:
Derbyrun server start 同于java -jar derbyrun.jar server start
关闭服务器:
Derbyrun server shutdown 同于java -jar derbyrun.jar server shutdown


3          使用与相关命令
官方手册文档:http://db.apache.org/derby/manuals/index.html
PDF格式手册:http://download.csdn.net/source/426441 下载
IJ工具支持的命令包括:

PROTOCOL 'JDBC protocol' [ AS ident ];
                              - 设置缺省协议或已命名的协议
DRIVER 'class for driver';   - 装入已命名的类
CONNECT 'url for database' [ PROTOCOL namedProtocol ] [ AS connectionNam
                              - 连接至数据库 URL
                              - 可以指定标识
SET CONNECTION connectionName; - 切换到指定的连接
SHOW CONNECTIONS;            - 列示所有连接
AUTOCOMMIT [ ON | OFF ];     - 设置连接的自动落实方式
DISCONNECT [ CURRENT | connectionName | ALL ];
                              - 删除当前连接、已命名的连接或所有连接;
                              - 缺省值是 CURRENT

SHOW SCHEMAS;                - 在当前数据库中列示所有模式
SHOW [ TABLES | VIEWS | PROCEDURES | SYNONYMS ] { IN schema };
                              - 列示表、视图、过程或同义词
SHOW INDEXES { IN schema | FROM table };
                              - 列示模式中的索引或表的索引
DESCRIBE name;               - 列示已命名表中的列

COMMIT;                      - 落实当前事务
ROLLBACK;                    - 回滚当前事务

PREPARE name AS 'SQL-J text'; - 准备 SQL-J 文本
EXECUTE { name | 'SQL-J text' } [ USING { name | 'SQL-J text' } ] ;
                              - 使用来自 USING 结果集行的
                              - 参数值执行语句
REMOVE name;                 - 除去已命名的先前预编译语句

RUN 'filename';              - 从命名文件运行命令

ELAPSEDTIME [ ON | OFF ];    - 设置 ij 的耗用时间方式
MAXIMUMDISPLAYWIDTH integerValue;
                              - 将每列的最大显示宽度设置为
                              - 整数值

ASYNC name 'SQL-J text';     - 在另一个线程中运行命令
WAIT FOR name;               - 等待 ASYNC'd 命令的结果

GET [SCROLL INSENSITIVE] CURSOR name AS 'SQL-J query';
                              - 在查询中获取游标(JDBC 结果集)
                              - SCROLL 游标仅适用于
                              - JDBC 2.0 和更高版本。
                              -(在 JDBC 1.X. 中忽略游标滚动类型)
NEXT name;                   - 从已命名的游标获取下一行
FIRST name;                  - 从已命名的滚动游标获取第一行
LAST name;                   - 从已命名的滚动游标获取最后一行
PREVIOUS name;               - 从已命名的滚动游标获取前一行
ABSOLUTE integer name;       - 在绝对行号上定位已命名的滚动游标
                             -(负数表示从最后一行起算的位置。)
RELATIVE integer name;       - 相对与当前行定位已命名的滚动游标
                              -(整数是行号)
AFTER LAST name;             - 将已命名的滚动游标定位于最后一行的后面
BEFORE FIRST name;           - 将已命名的滚动游标定位于第一行的前面
GETCURRENTROWNUMBER name;    - 返回已命名的滚动游标当前位置的行号
                              --(当游标的位置不在一个行上时返回 0。)
CLOSE name;                  -- 关闭已命名的游标
LOCALIZEDDISPLAY [ ON | OFF ];
                              -- 控制语言环境敏感数据表示法

EXIT;                        -- 退出 ij
HELP;                        -- 显示此消息

SHOW TABLES;                         --查看数据库里的有多少表

SYSINFO;                                  --查看系统安装信息
DBLOOK;
和使用其它的数据库一样,首先加载数据库驱动:
Class.forName("org.apachy.derby.jdbc.EmbeddedDriver");
然后我们创建一个数据库:
Connection conn=DriverManager.getConnection("jdbc.derby.derbyDB;create=true","user","pwd");
在上面的Url中指定create=true,则创建一个新的数据库。
得到连接之后,我们就可以象访问其它数据库一样,进行相关操作了。
Statement st=conn.createStatement();
st.execute("create table test1(id int,name varchar(20));
st.execute("insert into test1 values(1,'sinboy')");
st.execute("inert into test1 values(2,'Tom')");
ResultSet rs=st.executeQuery("select * from test1");
while(rs.next){
   System.out.println("id:"+rs.getInt(1)+" name:"+rs.getString(2));
}
rs.close();
st.close();
conn.commit();
conn.close();

最近学习了下Derby整理下学习经验给大家分享下。
分享到:
评论

相关推荐

    derby数据库以及在MyEclipse中的配置

    上网页也可以找到一些资源关于derby数据库的安装配置,但是你看起来会很麻烦,而且比较难以上手。 这是我自己动手实践过的,里面有很多截图方便你理解安装过程,已经电脑上面环境变量的配置,在MyEclipse上面的...

    Derby数据库初级使用文档

    Derby数据库初级使用文档,包括Derby数据库的安装、部署、使用等详细步骤,适合刚接触Derby人员使用。

    Derby和Sqlite数据库配置与使用.pdf

    Derby和Sqlite数据库配置与使用.pdf

    Derby数据库入门

    Derby数据库配置安装;内嵌模式、网络模式的运行方法;JDBC与两种模式的连接方法。

    轻量级数据库derby的配置和简单实例

    (百科)Apache Derby是一个完全用java编写的数据库,Derby是一个Open source的产品,基于Apache License 2.0分发。 Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做为单独的数据库服务器使用,也...

    java内置的数据库derby及插件

    使用mysql,sql等数据库,当你的程序出现在一个没有安装数据库的电脑,该程序无法使用数据库,但是derby是内置在项目中的数据,体积小,免安装,可以达到你想要的java数据库程序不需要配置在任何机器上运行

    nacos2.2.1达梦数据库版

    支持达梦数据库配置持久化带数据库初始化sql脚本,原nacos版本只支持mysql与derby数据库配置持久化,不支持达梦数据库配置持久化。在原有的开源nacos上进行了源码更改,解决了网上教程的一些坑,测试持久化成功后...

    配置文件加密方式, 文件存入数据库

    配置文件加密方式, 文件存入嵌入式Derby数据库,不能被外部看到

    WebAuctionServer:该项目由Entities和Session Beans组成,通过池化连接连接到Derby数据库

    该应用程序是使用不同的技术开发的,例如 Java Server Pages、Servlets、数据库(Derby 数据库)、Enterprise Java Beans(会话和实体 bean)。 该应用程序包含一个 Web 动态项目 (MiniEbayClient) 和一个 EJB 项目...

    Ofbiz10.04改用mysql数据库配置

    ofbiz默认是使用java 的derby数据库,本文档是如何修改成mysql数据库

    Derby与Ecplise集成开发

    Apache Derby数据库在Ecplise 环境下的配置与开发使用,包含详细的操作步骤和实例详解

    基于Shell脚本,通过简单配置后,可以自动安装Hadoop、Hive、Spark等大数据组件.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    Hive与HBase的兼容配置,.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    支持多种数据源的nacos-1.4.2,包括mysql/postgresql/oracle/derby

    支持多种数据源的nacos,包括mysql/postgresql/oracle/derby 版本号为1.4.2 对应的各个组件版本 springcloud version: 2020.0.1 ...需根据自身情况修改 conf/application.properties 中的数据库配置

    hive实战笔记. 新零售的从零到应用. 包含所有思路与代码.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    数据库连接工具dbeaver7.0.0版本

    数据库链接工具dbeaver-ce-7.0.0-x86_64-setup,兼容大部分数据库,使用简单,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他...帮助你免除安装各种数据库的必要,优化资源配置

    Aqua Data Studio 8.0.25 part 4

    数据库IDE:数据库查询与管理工具让开发员能够轻松地建立、编辑与执行SQL指令码,以及浏览和直观地修改数据库结构。Aqua Data Studio以同所有主要关系数据库相一致的接口提供了一个整合数据库环境。这让数据库管理员...

    Hive是一个基于Hadoop的数据仓库平台.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    简单的hive demo 后续会加入新内容.zip

    1.我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据,因此需要在Ubuntu里安装MySQL 使用以下命令即可进行mysql安装: 2.MySQL安装完成之后,可用以下命令启动和关闭mysql服务器

    支持多数据库的ORM框架ef-orm.zip

    EF的设计的一个主要目的是提高开发效率,减少编码工作,让开发者“零配置”“少编码”的操作数据库大部分功能。 例如:数据库查询条件的传入问题是所有ORM框架都不能回避的一个问题,所以我经常在想——既然我们...

Global site tag (gtag.js) - Google Analytics