您好,登錄后才能下訂單哦!
將目光放在小 Derby 的原因是純綠色、輕巧、內存占用小,分分鐘在你機子跑起來,自己做點需要連接數據庫的代碼實踐非常方便。
雖然 Mysql 也可以,多一種選擇,不是也挺好么?
Apache Derby是一個完全用 java 編寫的數據庫,Derby是一個Open source的產品。
Apache Derby非常小巧,核心部分derby.jar只有2M,既可以做為單獨的數據庫服務器使用,也可以內嵌在應用程序中使用。
官網下載地址:http://db.apache.org/derby/derby_downloads.html
點擊進入版本中,注意查看 Build Environment 需要的條件,點擊下載 zip 解壓到隨意目錄即可。
回到頂部
Derby 基于 Java 編寫,你機子上需要存在 Java JRE,具體安裝和配置就不說了。
下面是 Derby 需要配置的的系統環境變量,配置環境變量是想讓系統知道去哪找命令對應的執行程序。
Name: DERBY_HOME Value: E:\Java\derby\db-derby-10.10.1.1-bin 在Path加入:%DERBY_HOME%\bin 在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar
切到 cmd 黑框下面,敲 sysinfo
至此,小巧的 Derby 已經成功安裝在你的電腦上,是不是很快?騷年,可以進行折騰了。
回到頂部
a.創建數據庫,并且進行連接(存在則連接,不存在創建后連接)
connect 'jdbc:derby:dedb;user=root;password=root;create=true';
b.新建系統用戶表
create table t_user(uuid varchar(32), name varchar(10), age int, address varchar(40));
c.插入一些測試數據
insert into t_user values('B82A6C5244244B9BB226EF31D5CBE508', 'Miachel', 20, 'street 1');insert into t_user values('B82A6C5244244B9BB226EF31D5CBE509', 'Andrew', 35, 'street 1');insert into t_user values('B82A6C5244244B9BB226EF31D5CBE510', 'Orson', 47, 'street 1');insert into t_user values('B82A6C5244244B9BB226EF31D5CBE511', 'Rambo', 19, 'street 1');
注意:操作 Derby 需要使用 ij 工具(和 oracle 的 plus 差不多),CMD 下面輸入 ij 即可進入 ij 模式;
創建數據庫的路徑取決于你 CMD 的路徑,如 C:\Users\Administrator> 下,創建的 Derby 數據庫就在該目錄下面;
如果你對 sql 比較熟悉的話,操作 derby 沒有任何問題。
e.在 Java 程序中使用 Derby
import java.sql.*;public class DerbyTest { private static String driver = "org.apache.derby.jdbc.EmbeddedDriver"; private static String protocol = "jdbc:derby:"; String dbName = "E:\\Users\\Workspaces\\Derby\\dedb"; public static void loadDriver() { try { Class.forName(driver).newInstance(); } catch (Exception e) { e.printStackTrace(); } } public void getDataFromDerby() { try { Connection conn = DriverManager.getConnection(protocol + dbName + ";user=root;password=root;create=true"); Statement statement = conn.createStatement(); ResultSet resultSet = statement.executeQuery("select * from t_user"); while (resultSet.next()) { System.out.println(resultSet.getString(1)); System.out.println(resultSet.getString(2)); } conn.close(); statement.close(); resultSet.close(); } catch (Exception e1) { e1.printStackTrace(); } } public static void main(String[] args) { DerbyTest derbyTest = new DerbyTest(); loadDriver(); derbyTest.getDataFromDerby(); } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。