`

闲来无聊,玩玩JavaDB(Derby)

阅读更多

Part I

新安装了 JDK 6 的程序员们也许会发现,除了传统的 bin、jre 等目录,JDK 6 新增了一个名为 javadb 的目录。这便是 Java 6 的新成员:Java DB。这是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。- 摘自百度百科。

一开始学习Java的时候,依稀还记得安装JDK的时候有个JavaDB。当初我这个连Java基本语法都不懂的人当然没去理会。慢慢的,在学习的过程中,我接触到了几款数据库管理系统(Oracle、DB2、SqlServer、MySql、Access等等)。但是,我们在开发的时候为了开发和测试,就需要安装和配置那么多不同种类的数据库,感觉十分的麻烦。于是我就开始寻找一款不需要安装、不需要配置、体积小而且功能强大、与Java兼容性好的数据库管理系统。终于让我找到了Derby。

 

Part II

首先列出一些Derby的JDBC连接配置

  • 驱动:org.apache.derby.jdbc.EmbeddedDriver
  • URL:jdbc:derby:<DataBaseName>[;create=true][;user=UserName][;password=Password]
  • 其中:数据库名必选,后面为可选参数,create参数用于指定,当数据库不存在时是否创建数据库。

 

Part III

下面借这个例子,让大家能感受一下Derby的方便。

package com.gzmu.derby.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public final class DerbyUtil {

private static volatile DerbyUtil instance;

public static DerbyUtil getInstance() {
if (instance == null) {
synchronized (DerbyUtil.class) {
if (instance == null)
instance = new DerbyUtil();
}
}
return instance;
}

private static final String driverName = "org.apache.derby.jdbc.EmbeddedDriver";
private static final String url = "jdbc:derby:derbytest;create=true";

private final Log log = LogFactory.getLog(getClass());

private DerbyUtil() {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
log.error(e);
}
}

public void execute(Processor processor) {
Connection conn = null;
try {
conn = DriverManager.getConnection(url);
conn.setAutoCommit(false);
conn.setSavepoint();
processor.execute(conn);
conn.commit();
} catch (SQLException e) {
log.error(e);
try {
conn.rollback();
} catch (SQLException e1) {
log.error(e1);
}
} finally {
if (conn != null) {
try {
if (!conn.isClosed())
conn.close();
} catch (SQLException e) {
log.error(e);
}
}
conn = null;
}
}

}

package com.gzmu.derby.util;

import java.sql.Connection;

public interface Processor {

void execute(Connection conn);

}

package com.gzmu.derby.util;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Test;

public class DerbyUtilTest {

@Test
public void testExecute() throws SQLException {
DerbyUtil util = DerbyUtil.getInstance();
util.execute(new Processor() {
@Override
public void execute(Connection conn) {
try {
ResultSet rs = conn.prepareStatement("select * from t_user").executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
});
}
}

这里用到了策略模式来简化Connection的创建和事务的处理。还使用到了JUnit4来测试我们的DerbyUtil。
在没有建立数据库之前,先执行一下代码就会自动的为我们创建数据库。然后我们可以通过Eclipse的工具来为数据库创建表和插入数据,当然如果有使用Hibernate经验的读者应该知道使用Hibernate的auto.hbm2ddl来自动完成建表的操作。
 

怎么样,Derby的使用就是如此的简单,你可以告别繁重的安装和配置操作,轻松的编写一些小程序来测试自己的代码。

分享到:
评论

相关推荐

    使用 Java DB (Derby) 数据库

    ### 使用 Java DB (Derby) 数据库 - NetBeans IDE 7.0 教程 #### 知识点一:Java DB (Derby) 概述 - **定义**:Java DB 是 Sun 支持的 Apache Derby 的一个版本,是一款全事务型、安全且基于标准的数据库服务器。该...

    java DB derby.jar

    试过了,可以用的。这次没有出现 数据库连接错误的问题

    安装javaDB

    JavaDB,也称为Derby,是Oracle公司提供的一款开源、轻量级的关系型数据库管理系统,它是Java平台上的一个重要组成部分,特别适合于嵌入式应用和小型项目。本指南将详细阐述如何安装JavaDB,以及如何进行基本的配置...

    Java DB 10.8版本 官方技术手册合集(英文版

    Java DB(英文全称data base,数据库)是依照某种数据模型组织起来并存放二...Java DB 是Oracle 支持的Apache Derby 开源数据库的发行版本。它通过JDBC 和Java EE API 支持标准的ANSI/ISO SQL。Java DB 包括在JDK 中。

    javadb.pdf

    Java DB(也被称为 Derby 或 Apache Derby)是一种开源的关系型数据库管理系统(RDBMS),由IBM开发并维护。Java DB旨在为Java应用程序提供轻量级、高性能且易于使用的数据库服务。它支持标准的SQL查询语言,并提供...

    Apache Derby/Java DB 开发手册

    Derby Developer's Guide. Purpose of this guide This guide explains how to use the core Derby technology and is for developers building Derby applications. It describes basic Derby concepts, such as ...

    java derby数据库详解

    总的来说,Java SE 6中的Java DB(Derby)为开发者提供了一种快速开发和测试数据库应用的工具,简化了数据库管理,降低了入门门槛,使得Java程序员可以更专注于业务逻辑的实现。通过学习和掌握Derby,开发者能够更好...

    db-derby.rar_derby_derby java

    【标题】"db-derby.rar_derby_...总之,"db-derby.rar"这个压缩包对于Java开发者来说,是一份宝贵的资源,它涵盖了Apache Derby数据库的基础到进阶使用,可以帮助开发者快速理解和应用这个轻量级的Java数据库系统。

    JavaDB/derby.jar

    Java嵌入式数据库的驱动包,详见JDK1.6的说明文档

    JavaDB_Driver

    JavaDB_Driver中的derby.jar文件是JavaDB驱动程序的主要组成部分,包含所有必要的类和资源,使得Java应用程序能够连接、查询、更新和管理JavaDB数据库。 使用JavaDB_Driver进行数据库操作时,通常需要以下几个步骤...

    Java6中自带的JavaDB(derby)数据库.pdf

    Java DB,也称为Apache Derby,是Java 6中引入的一个重要的组成部分。它是完全用Java语言编写的开源数据库管理系统,属于Apache软件基金会的项目。Derby以其小巧轻便著称,只有2MB的大小,但提供了丰富的数据库管理...

    javadb官方参考资料

    JavaDB,全称为Apache Derby,是一款轻量级的关系型数据库管理系统,由Apache软件基金会开发并维护。它基于Java平台,完全兼容SQL标准,是Java应用程序的理想选择,特别是对于那些需要内嵌式数据库解决方案的开发者...

    javaDB的数据库的配置安装[归类].pdf

    JavaDB 也被称为 Derby,是一个开源的关系数据库管理系统,支持标准的 SQL 语句,能够在 Java 应用程序中使用。 安装 JavaDB 要安装 JavaDB,需要从 Oracle 官方网站下载最新版本的 JavaDB(当前版本为 10.5.3.0)...

    javadb 连接数据库的JAVA示例.rar_javadb_javadb-2.2.tar

    JavaDB,全称为Apache Derby,是Java平台上的一个开源、免费的关系型数据库管理系统,由Apache软件基金会维护。它轻量级、嵌入式且完全符合SQL标准,是初学者和小型应用程序的理想选择。本示例将详细介绍如何使用...

    db-derby-10.11

    Java Derby,全称为Apache Derby,是一款轻量级、开源的关系型数据库管理系统,它完全由Java编写,因此可以在任何支持Java的平台上运行。作为Apache软件基金会的项目,Derby以其小巧、高效、易于集成的特点,被广泛...

    Derby安装,创建数据库,在JAVA程序中使用Derby

    然后,我们需要配置环境变量,建立`DERBY_HOME`环境变量,值为`E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin`。在`Path`中添加 `%DERBY_HOME%\bin`,在`CLASSPATH`中添加`%DERBY_HOME%\lib\derby...

    Getting Started with Java DB.pdf

    对于已经熟悉Java Database Connectivity (JDBC) API的开发者来说,Java DB提供了一个快速入门的指南,帮助他们快速上手使用Java DB进行数据库操作。这个指南通常涵盖了以下方面: - **Java DB可以在哪些环境中运行...

Global site tag (gtag.js) - Google Analytics