Derby作为一个小型的纯java数据库,从JDK1.6开始集成在安装包中,当然你也可以从apache官网下载到最新版的,apache官网还提供了文档和源码,jdk并没有提供这些东西

目录为D:\Program Files\Java\jdk1.8.0_45\db

JNDI java 数据库 java derby数据库_JNDI java 数据库

bin目录包含了启动关闭创建的一些工具文件

JNDI java 数据库 java derby数据库_JNDI java 数据库_02

lib目录包含了一些jar包,如果需要使用内嵌模式的JDBC,需要导入derby.jar,如果需要使用网络模式的JDBC,需要导入derbyclient.jar

JNDI java 数据库 java derby数据库_derby_03

内嵌模式限制太多,只允许一个连接,下面介绍网络模式相关的内容

先设置环境变量

将D:\Program Files\Java\jdk1.8.0_45\db\bin加入path(注意是添加不是覆盖)

启动derby数据库

打开命令行,切换到某个目录,比如D:\Derbytest,然后执行startNetworkServer

D:
cd Derbytest
startNetworkServer

结果

JNDI java 数据库 java derby数据库_数据库_04


Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\test>D:

D:\>cd Derbytest

D:\Derbytest>startNetworkServer
Tue Jun 16 14:55:28 CST 2015 : 已使用基本服务器安全策略安装了 Security Manager。

Tue Jun 16 14:55:40 CST 2015 : Apache Derby 网络服务器 - 10.11.1.2 - (1629631)
已启动并准备接受端口 1527 上的连接

在D:\Derbytest下还会创建名为derby.log的日志文件

JNDI java 数据库 java derby数据库_数据库_05

注意:你在那个目录启动Derby数据库,日志和数据库就会创建在那个目录

关闭数据库

新开一个命令行窗口,执行

stopNetworkServer

结果

JNDI java 数据库 java derby数据库_jdk_06

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\test>stopNetworkServer
Tue Jun 16 15:02:12 CST 2015 : Apache Derby 网络服务器 - 10.11.1.2 - (1629631)
关闭

C:\Users\test>


下面的命令需要在ij工具下执行

启动ij

ij

JNDI java 数据库 java derby数据库_derby_07

退出ij

exit;


JNDI java 数据库 java derby数据库_jdk_08


D:\>ij
ij 版本 10.11
ij> exit;
D:\>



创建数据库(以下命令需要首先启动网络模式startNetworkServer)


命令

CONNECT 'jdbc:derby://localhost:1527/seconddb;create=true';



这句话的作用是连接并创建数据库,seconddb是数据库名,true表示创建,false表示不创建

在数据库启动的目录可以看到刚创建的seconddb数据库(数据库在哪只与网络启动的目录有关,与后续命令的工作目录无关),在seconddb目录下还有log、seg0、tmp0目录

JNDI java 数据库 java derby数据库_javadb_09

JNDI java 数据库 java derby数据库_javadb_10

创建表

CREATE TABLE SECONDTABLE
    (ID INT PRIMARY KEY,
    NAME VARCHAR(14));



插入数据

INSERT INTO SECONDTABLE VALUES 
    (100,'ONE HUNDRED'),(200,'TWO HUNDRED'),(300,'THREE HUNDRED');



查询数据

SELECT * FROM SECONDTABLE;



JDBC连接参数

网络模式

jar包:derbyclient.jar

驱动名称:org.apache.derby.jdbc.ClientDriver

URL:jdbc:derby://localhost:1527/seconddb

用户名:APP(代码中可以不填,有些图形工具用户名不能为空就填这个,APP是数据库默认的用户/模式)

密码:APP(代码中可以不填,有些图形工具用户名不能为空就填这个)

内嵌模式

jar包:derby.jar

驱动名称:org.apache.derby.jdbc.EmbeddedDriver

URL:

jdbc:derby:D:\\Derbytest\\seconddb