derby安裝及使用
文章目錄
環境:windows
derby 版本:db-derby-10.14.2.0-bin
JDK版本:JDK1.8
一、安裝
第一步:下載derby bin版本(注意與自己的JDK版本匹配)
查看JDK版本方法:win+R 進入命令行輸入:java -version
derby下載:對應JDK1.8 http://db.apache.org/derby/releases/release-10.14.2.0.cgi
此處筆者j下載的是bin版本。
第二步:將derby解壓到你想要安裝的路徑,
筆者解壓路徑爲:
第三步:配置環境變量
與其他軟件相似,將bin目錄配置到Path環境變量下,lib配置到ClassPath環境變量下
(1)配置DERBY_HOME,變量值爲你安裝derby的路徑
(2)配置Path環境變量
在DOS命令行下運行derby時,操作系統可以找到derby的腳本。bin目錄中是可執行的二進制程序
或者可以輸入 %DERBY_HOME%\bin
(3)配置classpath環境變量
添加 %HOME_DERBY%\lib\derbytools.jar;%DERBY_HOME%\lib\derby.jar
這樣derby運行時就能夠找到它需要的擴展包
(4)檢測環境變量是否配置成功
介紹一下derby的運行方式:一個服務端,一個客戶端,二者要同時打開
使用derby時,要同時打開客戶端(ij.bat)和服務端(NetworkServerControlModified.bat )(
第一個:ij.bat爲客戶端程序,我們在這裏創建、連接數據庫,寫SQL代碼
第二個 NetworkServerControl.bat爲軟件自帶的服務端程序,但是由於derby的一些安全策略不太好用,所以我們就自己寫一個文件,NetworkServerControlModified.bat
第三個:NetworkServerControlModified.bat 我們自己寫的derby服務端啓動程序
寫這個程序的步驟(1)新建NetworkServerControlModified.txt文件,寫入NetworkServerControl start -noSecurityManager 保存(2)將該文件的擴展名改爲.bat,放到derby的/bin目錄下,即圖中的位置。
在cmd下輸入ij,顯示控制檯即環境配置成功
二、創建數據庫
1.創建並連接數據庫:
(1)先進入需建立數據庫的目錄下
cd f:/testderby/
(2)輸入ij 進入derby
創建數據庫myderby, jdbc:derby爲協議名稱,create爲ture時創建數據庫,爲false時連接數據庫
connect 'jdbc:derby:myderby;create=ture';
--建表並插入數據
create table student(ID int ,name char(10));
insert into student values(123,'hanhan');
2.創建數據庫中的表等等,語法與SQL相同
注意每一句結尾爲分號。
三、與Java web連接
流程:
加載derby驅動—> 建立連接—> 創建數據庫—> 執行SQL語句—> 關閉連接
前提:
你已經在derby中建立好數據庫,筆者建立的derby數據庫位於:f:/testderby/myderby
注意:
將derby安裝包中的lib目錄下的derby.jar,derbyclient.jar放在WEB-INF/lib目錄下。
代碼:
package testDerby;
//導入SQL相關的包
import java.sql.*;
/*運行時要開derby服務器端。*/
public class TestJDBC {
//derby的驅動程序,驅動程序的包應放在WEB-INF/lib下。derby.jar,derbyclient.jar
static String driver="org.apache.derby.jdbc.ClientDriver";
//連接數據庫時,數據庫的路徑(url)
static String url="jdbc:derby://localhost:1527/f:/testderby/myderby;create=false";
//SQL需要執行的SQL語句,此處爲靜態SQL語句statement
static String sql="select * from student";
public static void main(String[] args) {
//聲明連接 con
Connection con;
//聲明靜態SQL語句s
Statement s;
//聲明查詢結果 rs
ResultSet rs;
try {
Class.forName(driver);//加載驅動;
con=DriverManager.getConnection(url);//連接數據庫
s=con.createStatement();
rs=s.executeQuery(sql);
//遍歷rs中的結果值
while(rs.next()) {
System.out.println("id="+rs.getInt(1)+"; "+"name= "+rs.getString(2));
}
//關閉連接
s.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}