前言
OS:Win10
IDE:IDEA 2019.3
Derby 简介
Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。
Derby 两种使用模式
- 内嵌模式。Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;
- 网络模式。Derby数据库独占一个JVM,做为服务器上的一个独立进程运行。在这种模式下,允许有多个应用程序来访问同一个Derby数据库。
嵌入式模式
-
Step1
: 导入 Derby 内嵌式的 Maven 坐标依赖<dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> <version>10.11.1.1</version> <!-- <scope>test</scope> --> </dependency>
-
Step2
:使用 Java 连接 Derby 数据库public class DerbyUtils { private static final String driver = "org.apache.derby.jdbc.EmbeddedDriver"; private static final String url = "jdbc:derby:firstdb;create=true"; static { Connection conn; try { Class.forName(driver); }catch(Exception e) { // }finally { // DriverManager.getConnection("jdbc:derby:;shutdown=true"); } } public static Connection getConnection(){ Connection conn = null; try { conn = DriverManager.getConnection(url); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 测试, Derby 内嵌数据库的连接 * @param args */ public static void main(String[] args) { Connection conn = DerbyUtils.getConnection(); System.out.println(conn); } }
-
Step3
: 由 DerbyUtil 获取 Connection 对象进行 SQL 语句执行操作了。
网络模式
之前使用 Derby 网络模式之前,首先要启动 Derby 服务端,这里我们需要在 %JAVA_HOME%\db 目录下,新建两个文件 - server_start.bat 和 server_stop.bat
-
server_start.bat
java -jar lib/derbyrun.jar server start echo & pause
-
server_stop.bat
java -jar lib/derbyrun.jar server shutdown echo & pause
下面正式进入 Derby 网络模式的使用步骤:
-
Step1
: 使用脚本 server_start.bat ,启动 Derby 启动端 -
Step2
: 添加 ij.properties 配置文件
在%JAVA_HOME%\db
下新建 ij.properties 文件ij.driver=org.apache.derby.jdbc.ClientDriver ij.protocol=jdbc:derby://localhost:1527/ #当COREJAVA数据库不存在,创建一个 ij.database=COREJAVA;create=true
-
Step3
: 在%JAVA_HOME%\db
下打开 cmd 界面,执行java -jar lib/derbyrun.jar ij -p ij.properties
命令。执行该命令是为了创建数据库,便于后面 Java 连接 Derby 数据库使用 -
Step4
: 导入 Derby 客户端的 Maven 依赖
当然若不是 Maven 工程,也可以将%JAVA_HOME%\db\lib\derbyclient.jar
拷贝到当前 Java 项目下的 lib 目录下,也是没有问题的。<dependency> <groupId>org.apache.derby</groupId> <artifactId>derbyclient</artifactId> <version>10.11.1.1</version> </dependency>
-
Step5
: 使用 Java 连接 Derby 数据库public class DerbyUtil { private static String driver = "org.apache.derby.jdbc.ClientDriver"; private static String DERBY_DB = "jdbc:derby:COREJAVA;create=true"; private static String url = "jdbc:derby://localhost:1527/COREJAVA"; public static Connection getConnection() throws SQLException { try{ Class.forName(driver); }catch(Exception ex){ ex.printStackTrace(); } return DriverManager.getConnection(url); } public static void main(String[] args) throws SQLException { Connection con = DerbyUtil.getConnection(); System.out.println(con); } }
Derby 的命令行操作工具 ij
ij 工具环境变量配置
%JAVA_HOME%\db\bin
小编这里配置是 D:\Java\jdk1.8.0_101\db\bin
特别注意:配置环境变量之前,不要先打开 cmd 命令界面,配置完成环境变量后,重新打开 cmd 命令行界面。若先打开 cmd 命令界面,会导致配置的环境变量无法使用,这时需要关闭 cmd 窗口重新打开即可。
ij 工具的使用
打开 cmd 命令行输入 ij ,即可进入 ij 命令行操作界面