Derby

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

 

1,下载并安装Derby:

下载地址:http://db.apache.org/derby /derby_downloads.html,下载最新版本。

我用的是10.5.3.0。

解压缩到任意文件夹,我的是:E:\Java\Joy\derby

2,配置环境变量:

建立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.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar

3,测试看看Derby安装成功没有

开始—Run—CMD

运行 sysinfo

如果安装成功,将会看到相关信息,下面是截取的部分信息。

——— Derby 信息 ——–
JRE – JDBC: Java SE 6 – JDBC 4.0
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derby.jar] 10
.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbytools.ja
r] 10.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbynet.jar]
10.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbyclient.j
ar] 10.5.3.0 – (802917)

4,创建和使用数据库

打开命令行,进入想要放置数据库的目录,我的是:E:\Java\Joy \derby\Derby_data

然后输入ij

将会看到:

ij 版本 10.5
ij>

接下来就可以创建数据库了。

使用ij创建以及连接指定数据库命令命令的语法格式如下:

connect 'jdbc:derby:<数据库路径>[;create=True/False]';

        数据库路劲指的是指定数据库在磁盘上存放的位置,例如“E:\roway”。另外,路径也可以使用相对路径,

例如"roway",此路径表示当前执行目录下的roway子目录,若当前执行目录为“E:\”则实景路径为“E:\roway”。

       方括号的内容是可选的,也就是说可以不写,若不写相当于"create=False"。

"create=False"表示仅连接已经存在的数据库,而"create=True"表示若数据库不存在则创建数据库。

例:
创建firstdb数据库:
ij> connect ‘jdbc:derby:firstdb;create=true’;
连接firstdb数据库:
ij> connect ‘jdbc:derby:firstdb’;

查询数据库等操作,只需要输入相应的Sql语句即可。

创建一个table:

create table firsttable(id int primary key, name varchar(20));

插入数据:

insert into firsttable values(1, ‘Hotpepper’);

在命令行测试一下:

select * from firsttable;

结果如下:

ID         |NAME
——————————–
1          |Hotpepper

还可以执行脚本命令:

 run '<SQL脚本文件的路径>';

在文本编辑器中输入如下SQL脚本,并保存为derby.sql脚本文件,例如“E:/derby.sql”.

[sql] view plain copy
  1. create table students(  
  2.   id  numeric(20),  
  3.   name  varchar(30),  
  4.   age   numeric(6)  
  5. );  
  6. insert into students values(10001,'Aa',10);  
  7. insert into students values(10002,'Bb',20);  
  8. insert into students values(10003,'Cc',30);  
  9. select * from students;  

连接前面创建的数据库,并使用run命令执行"derby.sql"脚本文件,执行情况如下图所示:

 

其它命令
断开连接:
ij> disconnect;
退出ij:
ij> exit;

5,在Java程序中使用Derby

首先要把相关的Derby jar包加进来(Build Path)。

把derby.jar加进来,如果没有加进来会出现 “java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”错误

好了,下面写JAVA代码进行测试:

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

public class Test {
private static String driver = “org.apache.derby.jdbc.EmbeddedDriver”;
private static String protocol = “jdbc:derby:”;
String dbName = “E:\\Java\\Joy\\derby\\Derby_data\\firstdb”;

static void loadDriver() {
try {
Class.forName(driver).newInstance();
System.out.println(“Loaded the appropriate driver”);
} catch (Exception e) {
e.printStackTrace();
}
}

public void doIt() {
Connection conn = null;
Statement s = null;
ResultSet rs = null;

System.out.println(“starting”);
try {
conn = DriverManager.getConnection(protocol + dbName
+ “;create=true”);
} catch (SQLException e) {
e.printStackTrace();
}

System.out.println(“Connected to and created database ” + dbName);

try {

s=conn.createStatement();
rs=s.executeQuery(“select * from firsttable”);

while (rs.next()) {
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
conn.close();
conn = null;
s.close();
s = null;
rs.close();
rs = null;
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
Test t = new Test();
t.loadDriver();
t.doIt();
}
}

OK,完成了。

—————————————————-

附:复制粘贴Derby数据库:

备份Derby数据库(derby-10.5.3.0)

小试了一下,很简单的,就复制粘贴就好了。

找到想要复制的数据库文件夹,比如:

C:\Program Files\SQuirreL SQL Client\firstdb

我们就把整个firstdb文件夹复制下来,然后粘贴到想要粘贴的地方。

就那么简单。

以上是我突发奇想试试看,没想到就成了。在网上搜了一下,貌似derby备份的方法不是这样的,而这种方法莫非是传说中的“热备份”?

6,在DbVisualizer中使用Derby

选择Database时选择到数据库的目录。

猜你喜欢

转载自lncdzh.iteye.com/blog/2282089