范例摘取自: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();
}
}
}