1 derby数据库
Apache Derby 项目的目标是构建一个完全用 Java 编程语言编写的、易于使用却适合大多数应用程序的开放源码数据库。
特点:
l 程序小巧,基础引擎和内嵌的JDBC驱动总共大约2MB ;
l 基于Java、JDBC和SQL标准 ;
l 提供内嵌的JDBC驱动,你可把Derby嵌入到基于Java的应用程序中 ;
l 支持客户端/服务器模式 ;
l 安装、布置和使用简单 。
1.1 derby简介
1.1.1 Derby 数据库的两种运行模式
1 ) 内嵌式模式( embedded mode )。 Derby 数据库与应用程序共享同一个 JVM ,应用程序会在启动和关闭时分别自动启动或停止关系引擎。 Derby 包的 derby.jar 文件包含了 Derby 数据库引擎和嵌入式 JDBC 驱动程序;
2 ) 网络服务器模式( network server mode )。 Derby 数据库独占一个 JVM ,做为服务器上的一个独立进程运行。在这种模式下,允许有多个应用程序来访问同一个 Derby 数据库。 Derby 的 derbynet.jar 文件包含了 Derby Network Server 。
1.2 环境搭建
l 下载源码包:http://db.apache.org/derby/derby_downloads.html
l 配置环境变量;需要配置的环境变量一共有四个(以windows系统为例):
n DERBY_HOME、DERBT_INSTALL
n Classpath:%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derby.jar
n Path:
1.2.1 linux配置须知
在linux中最后需要Derby的jar包添加到classpath环境变量中,在DERBY_HOME%\bin目录中提供了几个脚本用于设置classpath,以简化你手工在classpath中添加jar包的麻烦:
1) setEmbeddedCP。当使用内嵌模式来运行Derby时,可以使用该脚本来设置。该脚本将derby.jar和derbytools.jar添加到环境变量中;
2) setNetworkServerCP。当使用网络模式来运行Derby时,用该脚本来设置Derby服务端的classpath变量。该脚本将derbynet.jar添加到环境变量中;
3) setNetworkClientCP。当使用网络模式来运行Derby时,用该脚本来设置Derby客户端的classpath变量;该脚本将derbyclient.jar和derbytools.jar添加到环境变量中。
1.2.2 简单使用
Derby提供了三个工具脚本:sysinfo、ij、dblook。
1) sysinfo使用sysinfo可以显示你的Java环境信息和Derby的版本信息。使用方法就是在命令行下直接输入:sysinfo.bat
2) dblook使用dblook可以将全部或者部分数据库的DDL定义导出到控制台或者文件中。使用方法: dblook.bat –d <sourceDBUrl> [Options]
3) ij使用ij工具来进行数据库交互,执行SQL脚本,如查询、增删改、创建表等等。
在cmd命令行下输入: ij.bat即可启动ij工具,然后就可以开始执行SQL脚本了。当要退出ij工具时,命令行下输入 exit;即可。
示例:运行内嵌模式的Derby数据库操作:
在命令行中输入ij.bat或ij后启动ij工具;
然后通过如下命令创建数据库,并与数据库创建连接:
connect ‘jdbc:derby:emp;create=true’;
通过connect命令可以与指定数据库创建连接,通过一个JDBC URL来指定与哪个数据库创连接。*注意:ij命令是不区分大小写的。
参数中jdbc:derby是Derby数据库的驱动协议;emp是数据库命,由于没有指定路径,数据库将会被创建在当前你命令行下所在的目录下;create=true表示如果数据库不存在,则创建该数据库;“;”是ij命令的终止符。
当数据库创建成功时,Derby会在当前你命令行下所在的目录下创建一个与数据库命名一致(这里是emp)的目录,其中存放了数据库的文件。 与数据库连接上后,就可以开始执行行SQL脚本了,如创建一个表格:
create table emp(id int , name varchar(20));
插入记录:
insert into emp values(1, ‘thinker’) ;
也可以执行查询:
select * from emp;
也可以通过run命令来执行sql文件:
run E:\derby\demo\emp\selectEmp.sql' ;