首页 > 代码库 > Derby数据库的安装配置及使用

Derby数据库的安装配置及使用

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

}