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>
接下來就可以創建數據庫了。
例:
創建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
其它命令
斷開連接:
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時選擇到數據庫的目錄。