范例摘取自:http://blog.csdn.net/pengchua/article/details/2601617 【黃瓜和土豆的專欄】
下載:
到網站上下載一個derby.jar就可以了
如果需要客戶端工具,還需要下載derbytools.jar
如果需要啟動網絡功能,還需要下載derbynet.jar
這里是百度盤的下載地址:
http://pan.baidu.com/s/1o69D9vs
配置:
將兩個jar包添加到CLASSPATH環境變量中就可以了
比如:
CLASSPATH=.;D:\jarlib\derby\derby.jar;D:\jarlib\derby\derbytools.jar
當配置了derbytools.jar后可以在控制台輸入以下命令查看配置信息:
java org.apache.derby.tools.sysinfo
啟動客戶端:
在控制台輸入以下命令后即可啟動客戶端:
java org.apache.derby.tools.ij
創建數據庫:
connect 'jdbc:derby:mydb;create=true' ;
//創建/連接嵌入式數據庫
connect '
jdbc:derby://localhost:1527/dbname
;create=true
' ;
//創建/鏈接網絡數據庫
在使用嵌入式創建數據庫的時候,如果只寫數據庫名則會在class目錄下進行創建,也可以指定其他位置進行創建
//con = DriverManager.getConnection("jdbc:derby:userDB;create=true;user=test;password=test"); //userDB創建在class運行目錄
//con = DriverManager.getConnection("jdbc:derby:a/b/userDB;create=true;user=test;password=test"); //userDB創建在class下面的a/b文件夾下面,
con = DriverManager.getConnection( "jdbc:derby:d:/a/b/userDB;create=true;user=test;password=test" ); //userDB創建在d盤下面的a/b文件夾下面,
//con = DriverManager.getConnection("jdbc:derby:a/b/userDB;create=true;user=test;password=test"); //userDB創建在class下面的a/b文件夾下面,
con = DriverManager.getConnection( "jdbc:derby:d:/a/b/userDB;create=true;user=test;password=test" ); //userDB創建在d盤下面的a/b文件夾下面,
連接數據庫:
connect 'jdbc:derby:mydb;create=true' ;
//創建/連接嵌入式數據庫
connect '
jdbc:derby://localhost:1527/dbname
;create=true
' ;
//創建/鏈接網絡數據庫
斷開數據庫
disconnect ;
退出客戶端:
exit ;
啟動derby的網絡監聽:
debery數據庫默認監聽127.0.0.1的1527端口,
可以修改監聽的IP和PORT
java org.apache.derby.drda.NetworkServerControl start -p 1388 #指定端口
或者
$DERBY_HOME/bin/startNetworkServer -h myhost -p 1388 #指定ip和端口
在連接上數據庫后就可以執行數據庫操作了,比如建表,查詢,刪除,更新等操作。
下面是兩段java代碼訪問derby數據庫的范例代碼,代碼從CSDN【黃瓜和土豆的專欄
】處copy而來,自己懶得再寫一遍了。
嵌入方式訪問數據庫:
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EmbeddedDerbyTester {
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.EmbeddedDriver"; //在derby.jar里面
String dbName = "EmbeddedDB";
String dbURL = "jdbc:derby:" +dbName + ";create=true"; //create=true表示當數據庫不存在時就創建它
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(dbURL); //啟動嵌入式數據庫
Statement st = conn.createStatement();
st.execute( "create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)"); //創建foo表
st.executeUpdate( "insert into foo(FOOID,FOONAME) values (1,'chinajash')"); //插入一條數據
ResultSet rs = st.executeQuery( "select * from foo"); //讀取剛插入的數據
while(rs.next()){
int id = rs.getInt( 1);
String name = rs.getString( 2);
System.out.println( "id=" +id + ";name=" +name);
}
} catch(Exception e){
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EmbeddedDerbyTester {
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.EmbeddedDriver"; //在derby.jar里面
String dbName = "EmbeddedDB";
String dbURL = "jdbc:derby:" +dbName + ";create=true"; //create=true表示當數據庫不存在時就創建它
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(dbURL); //啟動嵌入式數據庫
Statement st = conn.createStatement();
st.execute( "create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)"); //創建foo表
st.executeUpdate( "insert into foo(FOOID,FOONAME) values (1,'chinajash')"); //插入一條數據
ResultSet rs = st.executeQuery( "select * from foo"); //讀取剛插入的數據
while(rs.next()){
int id = rs.getInt( 1);
String name = rs.getString( 2);
System.out.println( "id=" +id + ";name=" +name);
}
} catch(Exception e){
e.printStackTrace();
}
}
}
網絡方式訪問數據庫:
package test;
import java.io.PrintWriter;
import java.sql.DriverManager;
import org.apache.derby.drda.NetworkServerControl;
public class NetworkServerDerbyTester {
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.ClientDriver"; //在derbyclient.jar里面
String dbName = "NetworkDB";
String connectionURL = "jdbc:derby://localhost:1527/" + dbName + ";create=true";
try {
/*
創建Derby網絡服務器,默認端口是1527,也可以通過運行
<Derby_Home>/frameworks/NetworkServer/bin/startNetworkServer.bat
來創建並啟動Derby網絡服務器,如果是Unix,用startNetworkServer.ksh
*/
NetworkServerControl derbyServer = new NetworkServerControl(); //NetworkServerControl類在derbynet.jar里面
PrintWriter pw = new PrintWriter(System.out); //用系統輸出作為Derby數據庫的輸出
derbyServer.start(pw); //啟動Derby服務器
Class.forName(driver);
DriverManager.getConnection(connectionURL);
//do something
derbyServer.shutdown(); //關閉Derby服務器
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
import java.io.PrintWriter;
import java.sql.DriverManager;
import org.apache.derby.drda.NetworkServerControl;
public class NetworkServerDerbyTester {
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.ClientDriver"; //在derbyclient.jar里面
String dbName = "NetworkDB";
String connectionURL = "jdbc:derby://localhost:1527/" + dbName + ";create=true";
try {
/*
創建Derby網絡服務器,默認端口是1527,也可以通過運行
<Derby_Home>/frameworks/NetworkServer/bin/startNetworkServer.bat
來創建並啟動Derby網絡服務器,如果是Unix,用startNetworkServer.ksh
*/
NetworkServerControl derbyServer = new NetworkServerControl(); //NetworkServerControl類在derbynet.jar里面
PrintWriter pw = new PrintWriter(System.out); //用系統輸出作為Derby數據庫的輸出
derbyServer.start(pw); //啟動Derby服務器
Class.forName(driver);
DriverManager.getConnection(connectionURL);
//do something
derbyServer.shutdown(); //關閉Derby服務器
} catch (Exception ex) {
ex.printStackTrace();
}
}
}