Java 自帶 Derby 數據庫介紹和使用

前言

OS:Win10
IDE:IDEA 2019.3

Derby 簡介

Derby數據庫是一個純用Java實現的內存數據庫,屬於Apache的一個開源項目。由於是用Java實現的,所以可以在任何平臺上運行;另外一個特點是體積小,免安裝,只需要幾個小jar包就可以運行了。

Derby 兩種使用模式

  1. 內嵌模式。Derby數據庫與應用程序共享同一個JVM,通常由應用程序負責啓動和停止,對除啓動它的應用程序外的其它應用程序不可見,即其它應用程序不可訪問它;
  2. 網絡模式。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 命令行界面,否則配置的環境變量不生效

ij 工具的使用

打開 cmd 命令行輸入 ij ,即可進入 ij 命令行操作界面

參考

Derby–jdk自帶數據庫的使用
Derby 使用的2種方式:內嵌和獨立
Java 內嵌的Derby數據庫基本使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章