Apache Derby数据库

来源:互联网 发布:淘宝韩版女装新款 编辑:程序博客网 时间:2024/05/08 20:13

今天在书上看到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_24Java 供应商:      Sun Microsystems Inc.Java 主目录:      D:\Program Files\Java\jdk1.6.0_24\jreJava 类路径:      .;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 Foundation\Tomcat 6.0\lib\servlet-api.jar;D:\Program Files\Java\jre6\lib\ext\QTJava.zip;D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derby.jar;D:\Program Files\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\lib\derbynet.jar;D:\Program Files\Java\db-derby-10.10.1.1-bin/lib/derby.jar;D:\Program Files\Java\db-derby-10.10.1.1-bin/lib/derbynet.jar;D:\Program Files\Java\db-derby-10.10.1.1-bin/lib/derbyclient.jar;D:\Program Files\Java\db-derby-10.10.1.1-bin/lib/derbytools.jarOS 名:            Windows 7OS 体系结构:      x86OS 版本:          6.1Java 用户名:      ydcunJava 用户主目录:C:\Users\ydcunJava 用户目录:    C:\Users\ydcunjava.specification.name: Java Platform API Specificationjava.specification.version: 1.6java.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 - (1458268)[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derbytools.jar] 10.10.1.1 - (1458268)[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derbynet.jar] 10.10.1.1 - (1458268)[D:\Program Files\Java\db-derby-10.10.1.1-bin\lib\derbyclient.jar] 10.10.1.1 - (1458268)------------------------------------------------------C:\Users\ydcun>ijij 版本 10.10ij> 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数据配置方法如下:


默认是没有密码的: