Derby使用指南2008-10-07 21:22一.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表示创建一个新数据库
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 }
javaDB—— derby简单操作 - kbyst的专栏 - CSDN博客kbyst的专栏
登录 注册 欢迎 xuxiaohuahhh! 退出 我的博客 配置 写文章 文章管理 博客首页 全站 当前博客 空间 博客 好友 相册 留言 用户操作
[发私信] [加为好友]
kkk匪徒ID:kbyst
共215次访问,排名2万外,好友4人,关注者3人。
kbyst的文章
原创 3 篇
翻译 0 篇
转载 6 篇
评论 0 篇
订阅我的博客
在Java应用程序中访问Derby数据库
使用Java代码访问Derby数据库与访问其它数据库的区别如下:
1) JDBC驱动的不同;
2) 数据库连接URL的不同;
3) 在访问内嵌模式数据库时,需要显示关闭数据库。
下面分别实例访问内嵌模式和网络模式Derby数据库的代码
1) 访问内嵌模式Derby数据库
String driver = “org.apache.derby.jdbc.EmbeddedDriver”;
String url = “jdbc:derby:firstdb;create=true”;
Connection conn;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
}catch(Exception e) {
……
}finally {
……
DriverManager.getConnection("jdbc:derby:;shutdown=true");
}
建立好连接后,其它的数据操作,如查询、更新数据都和其它数据库一样,这里不详述。有一点需要注意,通过Java应用程序访问内嵌模式Derby数据库时,应用程序有责任需要在程序结束时关闭Derby数据库,如上面代码finally中的
DriverManager.getConnection("jdbc:derby:;shutdown=true");
shutdown参数用于关闭Derby数据库,如果url中指定了数据库命,则只会关闭指定的数据库,而不会关闭整个Derby数据库。数据库关闭成功时,Derby会抛出一个错误码为XJ015和一个08006的异常表示关闭成功,应用程序可以不处理这两个异常。
2) 访问网络模式Derby数据库
网络模式和内嵌模式的不同出在于:
A. 数据库连接URL的不同;
B. 应用程序退出时无效关闭Derby数据库;
C. 数据库驱动的不同;
String driver = “org.apache.derby.jdbc.ClientDriver”;
String url = “jdbc:derby: //localhost:1527/firstdb;create=true”;
Connection conn;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
}catch(Exception e) {
……
}
由于网络模式下,Derby数据库做为一个独立运行的数据库,可以被多个应用程序所访问,所以应用程序在运行结束时不应该关闭Derby数据库。
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
vc-mfc图形界面编程 (1356个子文件)
#!ediff-merge!#32320NU# 4KB
#!ediff-merge!#42480EU# 4KB
#!ediff-merge!#4368ILU# 3KB
#!ediff-merge!7!!#3588tQu# 12KB
TransparentPic.aps 121KB
GraphShower.aps 74KB
MagicHouse.aps 71KB
ImageProcessing.aps 59KB
EdgeContour.aps 46KB
ZoomPart.aps 43KB
ClipBmp.aps 43KB
ScreenCapture.aps 38KB
ZoomImgDemo.aps 35KB
Morph.aps 34KB
Direct.aps 30KB
MoveSelOb.aps 28KB
Capture.aps 22KB
MagicHouse.vcproj.bak 7KB
MagicHouse.sln.bak 886B
CCHPAN.BMP 804KB
fem12L.bmp 55KB
CCQIZI.BMP 51KB
1.bmp 42KB
CCHZIC.BMP 38KB
bitmap2.bmp 21KB
fem12L.bmp 14KB
fem12L.bmp 14KB
fem12L.bmp 14KB
fem12L.bmp 14KB
Toolbar.bmp 1KB
bitmap3.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
CLexGen.class 26KB
CEmit.class 19KB
CMakeNfa.class 6KB
SparseBitSet.class 6KB
CMinimize.class 6KB
CNfa2Dfa.class 5KB
CSpec.class 3KB
CError.class 3KB
CUtility.class 3KB
CSimplifyNfa.class 2KB
CAlloc.class 1KB
CInput.class 1KB
CSet.class 1KB
CNfa.class 1KB
SparseBitSet$7.class 922B
Main.class 687B
CAccept.class 641B
CDfa.class 530B
CDTrans.class 479B
CBunch.class 455B
SparseBitSet$6.class 356B
SparseBitSet$4.class 356B
SparseBitSet$5.class 356B
CAcceptAnchor.class 297B
CNfaPair.class 281B
SparseBitSet$BinOp.class 191B
.classpath 311B
Morph.clw 7KB
ImageProcessing.clw 6KB
EdgeContour.clw 3KB
Direct.clw 3KB
MoveSelOb.clw 2KB
TransparentPic.clw 2KB
ClipBmp.clw 2KB
ZoomPart.clw 2KB
Capture.clw 2KB
ZoomImgDemo.clw 2KB
ScreenCapture.clw 1KB
Hook.clw 349B
DibImage.cpp 151KB
DibImage.cpp 138KB
DibImage.cpp 101KB
SegApi.cpp 42KB
sizecbar.cpp 41KB
FreTrans.cpp 39KB
MagicHouseView.cpp 39KB
cdib.cpp 38KB
JpegDecoder.cpp 27KB
restore.cpp 21KB
EdgeContourView.cpp 20KB
GeoOperator.cpp 17KB
DIBPrcs.cpp 17KB
improve.cpp 17KB
DirectView.cpp 16KB
MorphView.cpp 16KB
CoolTabCtrl.cpp 14KB
ScreenCaptureDlg.cpp 12KB
scbarg.cpp 11KB
StretchDlg.cpp 11KB
Filter.cpp 11KB
MainFrm.cpp 10KB
共 1356 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
600
- 粉丝: 8
- 资源: 103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5