標籤:http java 使用 os strong 檔案 io 資料
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備份的方法不是這樣的,而這種方法莫非是傳說中的“熱備份”?
see:
http://www.infoq.com/cn/news/2007/06/derby103
原文:http://www.joyzhong.com/archives/558