`
i2534
  • 浏览: 183499 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

给桌面程序及嵌入一个derby

    博客分类:
  • util
阅读更多

桌面程序也要用到数据库的,derby自然是首选,这个资料很多,官方的就够用,但是。。。太多了,搞的都不知道那个文档有用。。。 ,研究了一天,终于可以用来,其实很简单。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Iterator;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 *
 * @author lan
 */
public class Connector {

    private static final Log log = LogFactory.getLog(Connector.class);
    private static final String DB_NAME = "jdbc:derby:data;user=uname;password=pwd";//没啥说的,jdbc都知道
    private static final String BOOT_PWD = "bootPassword=DBpassword";//数据库加密的密码

    static {
        try {
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");//这个就是嵌入式的driver了,注意导入derbytools包
        } catch (ClassNotFoundException ex) {
            log.error(ex.getMessage(), ex);
        }
    }

    public static Connection getConnection() {
        try {
            return DriverManager.getConnection(DB_NAME + ";" + BOOT_PWD);//连接数据库
        } catch (SQLException ex) {
            log.error(ex.getMessage(), ex);
        }
        return null;
    }

    public static void init() {//创建数据库和表
        try {
            PropertiesConfiguration config = new PropertiesConfiguration();
            config.setListDelimiter((char) 0);//commons configuration包
            config.load(Connector.class.getResourceAsStream("tables.properties"));//保存表创建语句的文件,当然可以是其他类型的,我这里都简单,所以放这里
            Connection con = DriverManager.getConnection(DB_NAME + ";create=true;dataEncryption=true;" + BOOT_PWD);//没有就创建,并且加密,默认的加密方式,也可以自定义
            con.setAutoCommit(false);
            Statement st = con.createStatement();
            for (Iterator it = config.getKeys(); it.hasNext();) {
                String key = (String) it.next();
                String sql = config.getString(key);
                if (sql != null) {
                    st.execute(sql);
                    log.info("table " + key + " create finish.");
                }
            }
            con.commit();
            con.setAutoCommit(true);
            con.close();
            log.info("db init finish");
        } catch (ConfigurationException ex) {
            log.error(ex.getMessage(), ex);
        } catch (SQLException ex) {
            log.error(ex.getMessage(), ex);
        }
    }

    public static boolean closeDB() {
        try {
            DriverManager.getConnection(DB_NAME + ";shutdown=true");//关闭数据库,很别致啊
            return true;
        } catch (SQLException ex) {
            log.error(ex.getMessage(), ex);
        }
        return false;
    }
分享到:
评论
1 楼 toafu 2010-09-02  
简单的例子还是随处可见的。derby发布的包里面就有java的example。

相关推荐

    derby 数据库 使用的例子

    Derby被设计为嵌入式数据库,适用于Java应用程序,尤其在桌面应用、测试环境以及小型服务器场景中非常实用。这个压缩包文件"DERBY_PJ"可能包含了关于如何使用Derby数据库的实例和教程。 首先,让我们了解Derby的...

    derby_ui_plugin

    Apache Derby是一款开源、轻量级、嵌入式的SQL数据库,广泛应用于桌面应用程序和开发环境。这个插件的目的是为Eclipse提供一个友好的图形用户界面(GUI),以便于开发者更方便地管理和操作Derby数据库。 1. **...

    Derby和Sqlite数据库配置与使用.pdf

    1. 导入jar包:从Java2s网站(http://www.java2s.com/Code/Jar/d/Downloadderbydriverjar.htm)下载Derby数据库的jar包,解压缩到桌面,然后在项目中新建一个lib文件夹,将jar包放入其中。 2. 导入jar包的方法:在...

    JavaSwing+derby通讯录源码

    2. **Apache Derby**: Apache Derby是一个开源的、基于Java的数据库,它完全实现了SQL标准,并且可以在Java应用程序中嵌入使用。在本例中,Derby数据库被用作存储联系人数据的地方,可能是通过JDBC(Java Database ...

    商品出入库例子+derby数据库

    在IT行业中,数据库管理系统是核心组成部分之一,而Apache Derby是一个轻量级、嵌入式的Java关系型数据库,常用于小型应用程序或开发环境中。本项目"商品出入库例子+derby数据库"提供了一个实用的示例,展示了如何在...

    derby_ui_plugin_1.1.1

    Derby是一个开源的关系型数据库管理系统,由Apache软件基金会维护,它完全用Java编写,因此可以嵌入到Java应用程序中,无需额外安装数据库服务器。Derby UI Plugin就是为了让开发者更方便地与Derby数据库进行交互而...

    Swing+derby仿QQ聊天软件及源码

    总的来说,这个项目提供了一个很好的实例,展示了如何利用Swing构建一个具有实际功能的桌面应用,并结合Derby数据库来存储和检索数据。对于想要学习Java GUI编程和数据库集成的开发者来说,这是一个非常有价值的资源...

    spring-boot-derby:Apache Derby嵌入式数据库的Spring Boot Java技术员

    而Apache Derby,作为一个轻量级、开源的关系型数据库,常被用于嵌入式环境,如桌面应用或测试环境。这篇文档将深入探讨如何在Spring Boot项目中集成和使用Apache Derby数据库。 首先,我们需要理解Spring Boot对...

    derby知识总结详细的配置和使用

    Apache Derby 是一个轻量级、开源的 Java 数据库管理系统,完全由 Java 语言编写,具有平台无关性。它被设计为易于管理和嵌入到应用程序中,既可以作为内嵌式数据库运行,也可以通过网络服务器模式独立运行。Derby ...

    嵌入式开源数据库系统对比

    - **简介**:Oracle Berkeley DB 是一个高性能、工业级别的嵌入式数据库解决方案,它提供了一套完整的工具包用于构建各种类型的应用程序。 - **特性**: - **C-Library 模式**:以 C 语言库的形式提供,可以嵌入到...

    tech-market-app:使用Apache Derby DB的Swing应用程序

    Java Swing是Java标准库中的一个组件,用于构建桌面应用程序的图形用户界面(GUI)。它提供了丰富的组件集合,如按钮、文本框、列表、表格等,让开发者可以轻松创建美观且功能强大的窗口应用。在这个项目中,Swing被...

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

    SQLite对于那些对数据库管理要求不是特别复杂的桌面或移动应用程序来说,是一个理想的选择。 文档还介绍了使用NetBeans这一集成开发环境(IDE)来创建和配置嵌入式数据库的过程。NetBeans是Java开发的主要工具之一...

    Swing开发数码照片管理程序

    5. **数据库集成**:Apache Derby是一个轻量级的关系型数据库管理系统,它被嵌入到程序中,无需单独服务器进程。使用JDBC(Java Database Connectivity)接口与Derby进行交互,管理照片的元数据,如拍摄日期、地点等...

    销售信息管理系统v0.3带源代码.zip

    销售信息管理系统v0.3是一个基于Java Swing技术开发的简易应用程序,主要目的是为了管理销售相关的数据。这个系统在设计上可能包含用户登录、销售数据录入、查询、统计等功能,为小型企业或个人提供便捷的销售记录与...

    迅友通讯录

    开发者可能选择了一个轻量级的数据库系统,如H2、SQLite或Derby,这些数据库无需独立服务器进程,可以直接嵌入到Java应用中,非常适合桌面应用的场景。 在"迅友通讯录"中,数据库源码是关键的学习点。源码分析可以...

    CogitoPop-开源

    Eclipse RCP是一个用于构建桌面应用程序的框架,它为开发者提供了丰富的工具和组件,使得开发人员能够快速构建出具有丰富用户界面的应用程序。Eclipse 3.1.1是该框架的一个版本,虽然现在已经有更新的版本,但这个...

    图书管理系统完整版,javaswing源码

    《图书管理系统完整版,javaswing源码》是一款基于Java Swing技术开发的桌面应用程序,它提供了全面的图书管理功能,适合于小型图书馆或个人藏书管理。Java Swing是Java的标准GUI(图形用户界面)库,它允许开发者...

    java项目开发全程实录第二章

    在《Java项目开发全程实录》第二章中,作者重点介绍了如何利用Swing和JavaDB来构建一个企业级的内部通信系统。本章不仅覆盖了项目开发的基本流程,还深入探讨了Swing界面设计与JavaDB数据库管理的具体实现方法。通过...

    学通Java的24堂课-第23课,企业内部通讯管理系统

    Java DB是Apache Derby的商业发行版,它允许开发者在Java应用程序中直接嵌入数据库。这对于桌面应用程序而言,意味着可以避免安装和配置传统数据库的繁琐过程,同时保证了应用程序的便携性和简易部署。 ### 系统...

Global site tag (gtag.js) - Google Analytics