今天在书上看到Apache Derby 数据库是用纯java写的应用很方便于是就找了些资料来亲自体验一下 DERBY下载地址(解压就可以使用无需安装)
下载解压后要配置对应的环境变量;学过java的应该都不陌生
1.DERBY_HOME = D:\Program Files\Java\db-derby-10.10.1.1-bin (要看自己加压到哪里去了)
2.path = %DERBY_HOME%\bin
3.classpath = %DERBY_HOME%\lib\derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar
Derby 数据库默认启动端口为1527
初次使用DERBY数据的命令行数据:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\ydcun>sysinfo
------------------ Java 信息 ------------------
Java 版本: 1.6.0_24
Java 供应商: Sun Microsystems Inc.
Java 主目录: D:\Program Files\Java\jdk1.6.0_24\jre
Java 类路径: .;c:\myclass;D:\Program Files\Java\jdk1.6.0_24\lib\tools.jar;
D:\Program Files\Java\jdk1.6.0_24\lib\dt.jar;D:\Program Files\Apache Software Fo
undation\Tomcat 6.0\lib\servlet-api.jar;D:\Program Files\Java\jre6\lib\ext\QTJav
a.zip;D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derby.jar;D:\Program File
s\Java\db-derby-10.10.1.1-bin\lib\derbyclient.jar;D:\Program Files\Java\db-derby
-10.10.1.1-bin\lib\derbytools.jar;D:\Program Files\Java\db-derby-10.10.1.1-bin\l
ib\derbynet.jar;D:\Program Files\Java\db-derby-10.10.1.1-bin/lib/derby.jar;D:\Pr
ogram Files\Java\db-derby-10.10.1.1-bin/lib/derbynet.jar;D:\Program Files\Java\d
b-derby-10.10.1.1-bin/lib/derbyclient.jar;D:\Program Files\Java\db-derby-10.10.1
.1-bin/lib/derbytools.jar
OS 名: Windows 7
OS 体系结构: x86
OS 版本: 6.1
Java 用户名: ydcun
Java 用户主目录:C:\Users\ydcun
Java 用户目录: C:\Users\ydcun
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
java.runtime.version: 1.6.0_24-b07
--------- Derby 信息 --------
[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derby.jar] 10.10.1.1 - (145826
8)
[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derbytools.jar] 10.10.1.1 - (1
458268)
[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derbynet.jar] 10.10.1.1 - (145
8268)
[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derbyclient.jar] 10.10.1.1 - (
1458268)
------------------------------------------------------
C:\Users\ydcun>ij
ij 版本 10.10
ij> connect 'jdbc:derby:firstdb;create=true';
ij> connect 'jdbc:derby:firstdb';
ij(CONNECTION1)> create table firsttable(id int primary key,name varchar(20));
已插入/更新/删除 0 行
ij(CONNECTION1)> insert into firsttable values(1,'ydcun');
已插入/更新/删除 1 行
ij(CONNECTION1)> select * from firsttable;
ID |NAME
--------------------------------
1 |ydcun
已选择 1 行
ij(CONNECTION1)> disconnect;
ij> exit;
C:\Users\ydcun>
上面是在默认的路径下创建了derby数据库:如果我们要在指定路径创建数据库那么语句就要这样写:connect 'jdbc:derby:f:/firstdb;create=true'; 这个就是f盘下创建了firstdb数据,create=true 的意思是说没有的话就创建一个有就链接;
所以我们也可以判断出要是我们要吧已经有的数据移动到别的盘里就直接拷贝过去之后用connect 'jdbc:derby:c:/firstdb';这个语句来链接就好了
之后我们就用java代码来访问我们刚才建的表:
package com.ydcun;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DerByDemo {
private static String driver = "org.apache.derby.jdbc.EmbeddedDriver";
private static String protocol = "jdbc:derby:";
static String dbName = "C:\\Users\\ydcun\\firstdb";
static void loadDriver() {
try {
Class.forName(driver).newInstance();
System.out.println("Loaded the appropriate driver");
} catch (Exception e) {
e.printStackTrace();
}
}
public void doIt() {
Connection conn = null;
Statement s = null;
ResultSet rs = null;
System.out.println("starting");
try {
conn = DriverManager.getConnection(protocol + dbName+";create=true");
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("Connected to and created database " + dbName);
try {
s = conn.createStatement();
rs = s.executeQuery("select * from firsttable");
while (rs.next()) {
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
conn.close();
conn = null;
s.close();
s = null;
rs.close();
rs = null;
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DerByDemo t = new DerByDemo();
t.loadDriver();
t.doIt();
}
}
注意:要是提示 java.sql.SQLException: Failed to start database这个错误是因为你在命令提示框中没有关闭ij的原因要是用Myeclipse工具来链接Derby数据配置方法如下:
默认是没有密码的: