小巧数据库 Apache Derby 使用攻略-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

小巧数据库 Apache Derby 使用攻略

简介:

1. Derby 介绍

   将目光放在小 Derby 的原因是纯绿色、轻巧、内存占用小,分分钟在你机子跑起来,自己做点需要连接数据库的代码实践非常方便。

   虽然 Mysql 也可以,多一种选择,不是也挺好么?

   Apache Derby是一个完全用 java 编写的数据库,Derby是一个Open source的产品。

   Apache Derby非常小巧,核心部分derby.jar只有2M,既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。

   官网下载地址:http://db.apache.org/derby/derby_downloads.html

   点击进入版本中,注意查看 Build Environment 需要的条件,点击下载 zip 解压到随意目录即可。

2. 稍稍配置下环境变量

   Derby 基于 Java 编写,你机子上需要存在 Java JRE,具体安装和配置就不说了。

   下面是 Derby 需要配置的的系统环境变量,配置环境变量是想让系统知道去哪找命令对应的执行程序。

复制代码
Name:  DERBY_HOME    
Value: E:\Java\derby\db-derby-10.10.1.1-bin
 
在Path加入:%DERBY_HOME%\bin    

在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar
复制代码

   切到 cmd 黑框下面,敲 sysinfo

   至此,小巧的 Derby 已经成功安装在你的电脑上,是不是很快?骚年,可以进行折腾了。

3. Derby 操作和 Java 访问 

a.创建数据库,并且进行连接(存在则连接,不存在创建后连接)

connect 'jdbc:derby:dedb;user=root;password=root;create=true'; 

b.新建系统用户表

create table t_user(uuid varchar(32), name varchar(10), age int, address varchar(40));

c.插入一些测试数据

insert into t_user values('B82A6C5244244B9BB226EF31D5CBE508', 'Miachel', 20, 'street 1');
insert into t_user values('B82A6C5244244B9BB226EF31D5CBE509', 'Andrew', 35, 'street 1');
insert into t_user values('B82A6C5244244B9BB226EF31D5CBE510', 'Orson', 47, 'street 1');
insert into t_user values('B82A6C5244244B9BB226EF31D5CBE511', 'Rambo', 19, 'street 1');

   注意:操作 Derby 需要使用 ij 工具(和 oracle 的 plus 差不多),CMD 下面输入 ij 即可进入 ij 模式;

           创建数据库的路径取决于你 CMD 的路径,如 C:\Users\Administrator> 下,创建的 Derby 数据库就在该目录下面;

           如果你对 sql 比较熟悉的话,操作 derby 没有任何问题。

e.在 Java 程序中使用 Derby

复制代码
import java.sql.*;

public class DerbyTest {
    private static String driver = "org.apache.derby.jdbc.EmbeddedDriver";
    private static String protocol = "jdbc:derby:";
    String dbName = "E:\\Users\\Workspaces\\Derby\\dedb";

    public static void loadDriver() {
        try {
            Class.forName(driver).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void getDataFromDerby() {
        try {
            Connection conn = DriverManager.getConnection(protocol + dbName + ";user=root;password=root;create=true");
            Statement statement = conn.createStatement();
            ResultSet resultSet = statement.executeQuery("select * from t_user");
            while (resultSet.next()) {
                System.out.println(resultSet.getString(1));
                System.out.println(resultSet.getString(2));
            }
            conn.close();
            statement.close();
            resultSet.close();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }

    public static void main(String[] args) {
        DerbyTest derbyTest = new DerbyTest();
        loadDriver();
        derbyTest.getDataFromDerby();
    }
}
复制代码

 本文转自Orson博客园博客,原文链接:http://www.cnblogs.com/java-class/p/5753997.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章