Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。下面说下其安装及配置
安装
1).从apache下载Derby数据库(如db-derby-10.10.1.1-bin.zip)并解压到任意目录(如:D:\Derby\db-derby-10.10.1.1-bin)。 2).配置环境变量DERBY_HOME=D:\Derby\db-derby-10.10.1.1-bin 并添加到path和classpath环境变量(%DERBY_HOME%\bin;%DERBY_HOME%\lib\derbyrun.jar) 3).测试数据库安装 C:\>sysinfo ------------------ Java Information ------------------ Java Version: 1.7.0_40 Java Vendor: Oracle Corporation Java home: C:\Program Files\Java\jdk1.7.0_40\jre Java classpath: D:\Derby\db-derby-10.10.1.1-bin\bin;D:\Derby\db-derby-10.10.1.1-bin\lib\derbyrun.jar; OS name: Windows 7 OS architecture: amd64 OS version: 6.1 Java user name: qqqqq Java user home: D:\userdata\qqq Java user dir: C:\ java.specification.name: Java Platform API Specification java.specification.version: 1.7 java.runtime.version: 1.7.0_40-b43 --------- Derby Information -------- [D:\Derby\db-derby-10.10.1.1-bin\lib\derby.jar] 10.10.1.1 - (1458268) [D:\Derby\db-derby-10.10.1.1-bin\lib\derbytools.jar] 10.10.1.1 - (1458268) [D:\Derby\db-derby-10.10.1.1-bin\lib\derbynet.jar] 10.10.1.1 - (1458268) [D:\Derby\db-derby-10.10.1.1-bin\lib\derbyclient.jar] 10.10.1.1 - (1458268)连接
C:\>ij ij 版本 10.10 ij> CONNECT ‘jdbc:derby:D:\Project\derbyDB\testdb;create=true‘;(如果数据库testdb不存在,则创建改数据库) ij> CONNECT ‘jdbc:derby:D:\Project\derbyDB\testdb;‘; (连接testdb数据库) ij(CONNECTION1)> CREATE TABLE FIRSTTABLE(ID INT PRIMARY KEY,NAME VARCHAR(12));(创建表) 已插入/更新/删除 0 行 ij(CONNECTION1)> INSERT INTO FIRSTTABLE VALUES(10,‘TEN‘),(20,‘TWENTY‘),(30,‘THIRTY‘);(插入数据) 已插入/更新/删除 3 行 ij(CONNECTION1)> SELECT * FROM FIRSTTABLE; ID |NAME ------------------------ 10 |TEN 20 |TWENTY 30 |THIRTY 已选择 3 行 ij(CONNECTION1)>exit;(退出)说明
1. sysinfo工具用于显示Java环境信息和Derby的版本信息。
2. ij工具来进行数据库交互,执行SQL脚本,如查询、增删改、创建表等
例子
下面是个完整的例子,如何程序中操作JavaDB
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties; public class TestDerby { public static void main(String[] args) { try { Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance(); System.out.println("Load the embedded driver"); Connection conn = null; Properties props = new Properties(); props.put("user", "user1"); props.put("password", "user1"); conn=DriverManager.getConnection("jdbc:derby:C:\\Project\\derbyDB\\testdb;"); System.out.println("create and connect to testdb"); Statement s = conn.createStatement(); ResultSet rs = s.executeQuery("SELECT * FROM FIRSTTABLE"); System.out.println("name\t\tscore"); while(rs.next()) { StringBuilder builder = new StringBuilder(rs.getString(1)); builder.append("\t"); builder.append(rs.getInt(1)); System.out.println(builder.toString()); } } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); } } }