jdk 6 Derby 数据库

Derby并不是一个新的数据库产品,它是由IBM捐献给Apache的DB项目的一个纯Java数据库,JDK6.0里面带的这个Derby的版本是10.2.1.7,支持存储过程和触发器;有两种运行模式,一种是作为嵌入式数据库,另一种是作为网络数据库,前者的数据库服务器和客户端都在同一个JVM里面运行,后者允许数据库服务器端和客户端不在同一个JVM里面,而且允许这两者在不同的物理机器上.值得注意的是JDK6里面的这个Derby支持JDK6的新特性JDBC 4.0规范(JSR 221),现在我们如果要练习JDBC的用法,没有必要单独装一个数据库产品了,直接用Derby就行.安装完JDK6.0后,Derby会被安装到<JDK6_HOME>/db下面,在<JDK6_HOME>/db/demo/programs下面还有一些示例程序,演示了如何启动,连接Derby数据库以及JDBC API的使用.下面分两种情况演示一下如何用代码操作Derby数据库,一种是嵌入式数据库,一种是网络数据库.

一.嵌入式数据库

public class EmbeddedDerbyTester {
publicstaticvoidmain(String[]args){
Stringdriver
="org.apache.derby.jdbc.EmbeddedDriver";//在derby.jar里面
StringdbName="EmbeddedDB";
StringdbURL
="jdbc:derby:"+dbName+";create=true";//create=true表示当数据库不存在时就创建它
try{
Class.forName(driver);
Connectionconn
=DriverManager.getConnection(dbURL);//启动嵌入式数据库
Statementst=conn.createStatement();
st.execute(
"createtablefoo(FOOIDINTNOTNULL,FOONAMEVARCHAR(30)NOTNULL)");//创建foo表
st.executeUpdate("insertintofoo(FOOID,FOONAME)values(1,'chinajash')");//插入一条数据
ResultSetrs=st.executeQuery("select*fromfoo");//读取刚插入的数据
while(rs.next()){
intid=rs.getInt(1);
Stringname
=rs.getString(2);
System.out.println(
"id="+id+";name="+name);
}

}
catch(Exceptione){
e.printStackTrace();
}

}

}

运行上面程序后,会在当前目录生成名为EmbeddedDB的文件夹,既是EmbeddedDB数据库的数据文件存放的地方,控制台将输出

id=1;name=chinajash

二.网络数据库

 

public class NetworkServerDerbyTester {
publicstaticvoidmain(String[]args){
Stringdriver
="org.apache.derby.jdbc.ClientDriver";//在derbyclient.jar里面
StringdbName="NetworkDB";
StringconnectionURL
="jdbc:derby://localhost:1527/"+dbName+";create=true";
try{
/*
创建Derby网络服务器,默认端口是1527,也可以通过运行
<Derby_Home> rameworksNetworkServerinstartNetworkServer.bat
来创建并启动Derby网络服务器,如果是Unix,用startNetworkServer.ksh
*/

NetworkServerControlderbyServer
=newNetworkServerControl();//NetworkServerControl类在derbynet.jar里面
PrintWriterpw=newPrintWriter(System.out);//用系统输出作为Derby数据库的输出
derbyServer.start(pw);//启动Derby服务器
Class.forName(driver);
DriverManager.getConnection(connectionURL);
//dosomething
derbyServer.shutdown();//关闭Derby服务器
}
catch(Exceptionex){
ex.printStackTrace();
}

}

}

运行上面程序后,会在当前目录生成名为NetworkDB的文件夹

关于Derby的详细情况,请参考http://db.apache.org/derby

关于这个数据库的备份还是看ibm的文章吧,比较权威啊

http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0502thalamati/index.html

你没装这个东西,没关系,看这个

Apache Derby ——转到 Apache Derby download 页,并下载最新的二进制版本。本教程中的示例代码均使用 Derby 的 10.2.2.0 版进行了测试。

  1. 下载此压缩文件后,将其提取到文件夹中(例如,c:\software\derby)并设置 DERBY_HOME 环境变量,使其指向此文件夹。
  2. 采用网络模式使用 Apache Derby。但由于 WebSphere Application Server Community Edition 已经使用了 Derby 网络服务器的缺省端口 (1572),因此需要使用其他端口。转到 <DERBY_HOME>/bin 文件夹,并发出命令java org.apache.derby.drda.NetworkServerControl -p 1088。Derby 网络服务器将在端口 1088 上启动。
  3. 使用 ij.bat 命令创建测试数据库。首先运行此命令,以打开 ij 控制台。
  4. 在 ij 控制台内,执行命令connect "jdbc:derby://localhost:1088/ContactDB:create=true;user=dbadmin;password=not2tell";。这将在 Apache Derby 中创建数据库 ContactDB。
  5. 然后你就可以建立表格了。;)剩下的都很简单了,实在不行,你装个最新版本的eclpse3.3也有这个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值