`
xzknet
  • 浏览: 311025 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

JDK6的新特性之八:嵌入式数据库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 ...{
    
public static void main(String[] args) ...{
        String driver 
= "org.apache.derby.jdbc.EmbeddedDriver";//在derby.jar里面
        String dbName="EmbeddedDB";
        String dbURL 
= "jdbc:derby:"+dbName+";create=true";//create=true表示当数据库不存在时就创建它
        try ...{           
            Class.forName(driver);
            Connection conn 
= DriverManager.getConnection(dbURL);//启动嵌入式数据库
            Statement st = conn.createStatement();
            st.execute(
"create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)");//创建foo表
            st.executeUpdate("insert into foo(FOOID,FOONAME) values (1,'chinajash')");//插入一条数据
            ResultSet rs = st.executeQuery("select * from foo");//读取刚插入的数据
            while(rs.next())...{
                
int id = rs.getInt(1);
                String name 
= rs.getString(2);
                System.out.println(
"id="+id+";name="+name);
            }

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

    }

}

 

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

id=1;name=chinajash

二.网络数据库

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

            NetworkServerControl derbyServer 
= new NetworkServerControl();//NetworkServerControl类在derbynet.jar里面
            PrintWriter pw = new PrintWriter(System.out);//用系统输出作为Derby数据库的输出
            derbyServer.start(pw);//启动Derby服务器
            Class.forName(driver);
            DriverManager.getConnection(connectionURL);
            
//do something
            derbyServer.shutdown();//关闭Derby服务器
        }
 catch (Exception ex) ...{
            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也有这个
分享到:
评论

相关推荐

    JDK+6.0+ZH+API.chm.zip

    JDK6的新特性之八_嵌入式数据库Derby JDK6的新特性之六_插入式注解处理API JDK6的新特性之九_CommonAnnotations JDK6的新特性之十_Web服务元数据 JDK6的新特性之十一_更简单强大的JAX-WS JDK6的新特性之十...

    学习使用jdk1.7中内置数据库Derby(三)

    在"学习使用jdk1.7中内置数据库Derby(三)"这篇博文中,我们可能涉及以下关键知识点: 1. **安装与配置**:首先,我们需要下载并安装Apache Derby,将其添加到Java的类路径中。可以通过Apache官方网站获取最新版本的...

    Java嵌入式数据库程序的开发.pdf

    NetBeans是Java开发的主要工具之一,它可以简化嵌入式数据库的安装和配置过程。在NetBeans中创建数据库只需在服务窗中右键点击并选择相应菜单项,然后按照提示输入数据库信息和配置即可。数据库创建完成后,为了将其...

    JDK6的新特性.rar

    1. **嵌入式数据库 Derby**: JDK 6包含了Apache Derby,一个轻量级、嵌入式的Java关系型数据库。开发者可以直接在应用程序中集成数据库,无需额外安装和配置,这简化了开发和测试过程,尤其适用于小型项目和原型设计...

    JDK6包含了一个轻量级的数据库,称为Derby,它属于Apache数据库项目的产品

    Java Development Kit (JDK) 6 是 Java 编程环境的一个重要版本,它引入了许多新特性和改进。其中,一个值得注意的特性就是内置了一个轻量级的关系型数据库管理系统(RDBMS),名为 Apache Derby。Derby 作为一个...

    Java Diary - JDK自带的java数据库

    Derby是一个嵌入式数据库,这意味着它可以直接在应用程序中运行,无需额外的服务器进程。这对于小型应用或者测试环境来说非常理想,因为它减少了部署的复杂性。Derby支持SQL标准,包括SQL92和部分SQL:2003,使得与...

    JDK1.6新特性说明.doc

    5. **嵌入式数据库Derby**: JDK 1.6集成了Apache Derby,一个轻量级的关系型数据库,适合于开发者的本地测试和小型应用。 6. **Desktop类和SystemTray类**: `java.awt.Desktop`提供了与操作系统桌面交互的能力,如...

    Derby数据库_dwq_

    它被广泛应用于嵌入式系统和轻量级应用,也是Java开发者的重要选择之一,尤其对于学习和测试环境。在本场景中,"java连接Derby jdk自带数据库"表明我们将探讨如何使用Java开发工具连接到JDK中内置的Derby数据库。 ...

    db-derby-10.14.2.0-lib.zip

    Apache Derby数据库 Derby数据库是一个纯用Java实现的珍袖型的数据库,属于Apache的一个...Derby数据库有二种运行模式:嵌入式(与应用程序浑然一体,是Derby独有的数据库模式)和独立数据库模式(数据库服务器模式)。

    Getting Started with Derby

    1. **嵌入式环境**:在该模式下,Derby 数据库作为 Java 应用程序的一部分直接运行在同一 JVM 内。这种模式适用于那些不需要网络访问数据库的应用场景。 2. **客户端/服务器环境**:在这种情况下,Derby 数据库...

    derby入门知识 含demo代码

    1. **derby.jar:** 包含Derby的核心引擎库,适用于嵌入式环境。 2. **derbytools.jar:** 包含工具库,适用于客户端和服务端环境。 3. **derbynet.jar:** 提供网络支持功能,适用于客户端-服务端环境。 每个组件...

    java学习笔记JDK6课件之二十一(完整结束,全篇)

    - **Apache Derby**:Java SE6开始,内置了轻量级的关系型数据库Apache Derby,它是一个嵌入式数据库,适用于开发桌面应用和测试环境。 - **JDBC 4.0**:Java Database Connectivity (JDBC) API在Java SE6中升级到...

    jdk-6u45-linux-i586-rpm.bin

    2. **sun-javadb-docs-10.6.2-1.1.i386.rpm**:这个文件是Sun Microsystems的Java DB(也称为Derby)的文档包,Java DB是一个开源的关系型数据库管理系统,它内嵌于Java应用中,适合轻量级和嵌入式应用。"docs"表明...

    window-jdk-jdk1.6.0_06

    6. db:可能是指Java数据库连接(JDBC)或者Java Derby数据库,这是一个嵌入式数据库,有时会作为JDK的一部分。 7. LICENSE:包含了软件的许可协议,定义了用户可以如何使用和分发该软件。 8. register.html 和 ...

    JDK1.7,64位,最新7u80版本

    **数据库支持(db)**: JDK 1.7包含了 Derby 数据库,这是一个轻量级的关系型数据库,适用于嵌入式应用和测试环境。开发者可以使用Derby进行快速原型开发或小型项目。 **6. **库文件(lib)**: 这个目录包含了Java...

    jdk1.7.0_55-part1.zip

    7. **db**:这部分是JavaDB的组件,它是Apache Derby数据库的一个轻量级实现,常用于Java应用中的嵌入式数据库需求。 8. **include**:包含了一些头文件,用于C/C++程序调用Java Native Interface (JNI)编写本地...

    jdk7免安装

    1. **db**:包含Java DB(Derby),一个轻量级的关系型数据库引擎,适合于嵌入式应用。 2. **THIRDPARTYLICENSEREADME.txt**:列出第三方库的许可信息。 3. **README.html**:提供有关JDK的简短说明和使用指南。 ...

    JDK1.6解压安装包

    4. **db**:这是一个包含Java Derby数据库的目录,它是Java内置的轻量级数据库管理系统,可用于开发嵌入式数据库应用。 5. **jre**:Java Runtime Environment的缩写,包含了运行Java应用程序所需的最低组件,如...

Global site tag (gtag.js) - Google Analytics