下载:

到网站上下载一个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文件夹下面,

连接数据库:

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数据库的范例代码,代码从【黄瓜和土豆的专栏】处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();

        }

    }
}

 

网络方式访问数据库:

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();

        }

    }

}