WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢(qián)
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
Derby
來(lái)自站長(zhǎng)百科
(重定向自Apache Derby)
Derby是Apache軟件基金會(huì)所研發(fā)的開(kāi)放源碼數(shù)據(jù)庫(kù)管理系統(tǒng);由于Derby是一個(gè)純Java程序,因此只需要操作系統(tǒng)支援Java虛擬機(jī),Derby便可執(zhí)行。它可以嵌入到基于Java的解決方案中。Derby確保數(shù)據(jù)完整性,并提供負(fù)責(zé)的事務(wù)處理操作。默認(rèn)的配置中不包含任何獨(dú)立的數(shù)據(jù)庫(kù)服務(wù)器。只需要將其 .jar 文件復(fù)制到項(xiàng)目中即可完成安裝。
詞條概況[ ]
- 軟件類別:國(guó)外軟件/數(shù)據(jù)庫(kù)類
- 軟件授權(quán):共享軟件
- 運(yùn)行環(huán)境:WinXP/vista/win7/2000/2003
- 官方網(wǎng)站:http://db.apache.org/derby/
- 官方下載:http://db.apache.org/derby/derby_downloads.html
特性[ ]
Derby擁有一個(gè)令人驚奇的特性列表。它可以支持關(guān)系數(shù)據(jù)庫(kù)中的所有企業(yè)級(jí)的特性,包括:
- 崩潰恢復(fù)
- 事務(wù)回滾和提交
- 行/表級(jí)鎖
- 視圖
- 主鍵/外鍵約束
- 觸發(fā)器
- 子查詢表達(dá)式
一部分的列表特性使Derby從其他的Java 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中分離出來(lái)。
Derby的部署方式[ ]
- 嵌入式:Derby被單個(gè)用戶的Java應(yīng)用程序使用,在這種模式下,Derby和應(yīng)用程序運(yùn)行在同一個(gè)JVM中。Derby對(duì)于終端用戶幾乎是透明的,因?yàn)樗膯?dòng)和終止都是由應(yīng)用程序來(lái)控制,而不需要任何的管理。
- 服務(wù)器模式:Derby由應(yīng)用程序啟動(dòng),此時(shí)通過(guò)用戶可以通過(guò)網(wǎng)絡(luò)連接。在這種模式下,Derby運(yùn)行在服務(wù)器主機(jī)的JVM中。其他JVM的應(yīng)用程序通過(guò)連接服務(wù)器來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。
Derby數(shù)據(jù)庫(kù)簡(jiǎn)明使用[ ]
下載并安裝Derby[ ]
- 下載地址:官方下載地址,下載最新版本。
- 解壓縮到任意文件夾,如:E:\Java\Joy\derby
配置環(huán)境變量[ ]
- 建立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
測(cè)試Derby安裝成功與否[ ]
- 開(kāi)始—Run—CMD
- 運(yùn)行 sysinfo
- 如果安裝成功,將會(huì)看到相關(guān)信息,下面是截取的部分信息。
——— 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)
創(chuàng)建和使用數(shù)據(jù)庫(kù)[ ]
- 打開(kāi)命令行,進(jìn)入想要放置數(shù)據(jù)庫(kù)的目錄,如:E:\Java\Joy \derby\Derby_data
- 然后輸入ij
- 將會(huì)看到:
ij 版本 10.5 ij>
- 接下來(lái)創(chuàng)建數(shù)據(jù)庫(kù)。
1、創(chuàng)建firstdb數(shù)據(jù)庫(kù):
ij> connect ‘jdbc:derby:firstdb;create=true’;
連接firstdb數(shù)據(jù)庫(kù):
ij> connect ‘jdbc:derby:firstdb’;
查詢數(shù)據(jù)庫(kù)等操作,只需要輸入相應(yīng)的Sql語(yǔ)句即可。
2、創(chuàng)建一個(gè)table:
create table firsttable(id int primary key, name varchar(20));
- 插入數(shù)據(jù):
insert into firsttable values(1, ‘Hotpepper’);
- 在命令行測(cè)試一下:
select * from firsttable;
- 結(jié)果如下:
ID |NAME ——————————– 1 |Hotpepper
- 其它命令
1、斷開(kāi)連接:
ij> disconnect;
2、退出ij:
ij> exit;
在Java程序中使用Derby[ ]
- 首先要把相關(guān)的Derby jar包加進(jìn)來(lái)(Build Path)。
- 把derby.jar加進(jìn)來(lái),如果沒(méi)有加進(jìn)來(lái)會(huì)出現(xiàn) “java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”錯(cuò)誤
- 通過(guò)以下JAVA代碼進(jìn)行測(cè)試:
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(); } }