java導入derby驅動(java derby)

本文目錄一覽:

javadb資料庫怎麼導入sql文件

創建Java工程javaDB:

首先要把Derby驅動包加進來,該文件可以在C:\Program Files\Sun\JavaDB\lib找到,就是derby.jar

創建包com.test

在包下面創建JavaDBTes測試類,

並添加主函數

創建資料庫:

第一步載入驅動:

Class.forName(“org.apache.derby.jdbc.EmbeddedDriver”).newInstance();

第二部設置賬號密碼:

Properties props = new Properties(); props.put(“user”, “admin”); props.put(“password”, “123”);

第三部 連接創建資料庫:

Connectionconn = DriverManager.getConnection(“jdbc:derby:liu;create=true”,props);

不提交事務

conn.setAutoCommit(false);

創建表:

Statement s = conn.createStatement(); //獲取實例 s.execute(“create table user_info (user_id int,user_name varchar(50))”);

conn.commit();//提交事務

往表添加數據:

Statement s = conn.createStatement();boolean mark = s.execute(“insert into user_info values(1, ‘張三’)”);

conn.commit();

查詢數據:

ResultSet rs = s.executeQuery(“SELECT user_id,user_name FROM user_info”);

//遍歷結果集

while (rs.next()) {

System.out.println(rs.getInt(1));

System.out.println(rs.getString(2)); }

7

修改數據:

Statement s = conn.createStatement();boolean mark = s.execute(“update user_info setuser_name= ‘張三’ where user_id=1”);

conn.commit();

8

刪除數據:

Statement s = conn.createStatement();boolean mark = s.execute(“delete from user_info where user_id=1”);

conn.commit();

java操作derby資料庫和操作sql資料庫有什麼區別

import java.sql.ResultSet; //都是導入一些下面需要用到的類

String ConnStr=”jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library”;//jdbc連接資料庫url

public sqlServer() {

try {

Class.forName(DBDriver).newInstance(); //載入SQLServer驅動程序,DBDriver是你上面的代碼;

conn=DriverManager.getConnection(ConnStr,”sa”,”sa”); //和資料庫建立連接,ConnStr裡面的://WINJUE:1433;DatabaseName=library 分別是主機地址:埠號;你自己建的資料庫(database)

}

catch(SQLException e) { //捕獲SQL異常

System.out.println(e.getMessage()); //要是出現異常,捕獲到後,這句代碼會把異常的信息(出錯的原因之類的)列印出來。

}

catch(Exception e) { //捕獲異常,這個是總的,所以不能和上面的順序顛倒,先小到大,我連ORACLE和MYSQL,這個我通常不要,只須捕獲SQL異常就OL

System.out.println(e.getMessage());

}

}

public Connection getConn(){ //獲取連接方法

return conn;

}

public void insert(String sql) {//增刪改

try {

Statement stm=conn.createStatement(); 調用conn下的方法,創建Statement對象

stm.executeUpdate(sql);//調用Statement下的方法執行SQL語句

System.out.println(“操作成功”);

}

catch(Exception e){

System.out.println(e.getMessage()); //如上

}

}

public ResultSet query(String sql){ //查詢

try{

Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

rs=stm.executeQuery(sql); //如上

}

catch(Exception e){

System.out.println(e.getMessage());

}

return rs;

}

public static void main(String args[]){

sqlServer conn=new sqlServer(); //創建sqlServer,就是你上面的類,以便調用裡面的方法

ResultSet rs=conn.query(“select * from Orders”); //調用query方法,執行SQL語句後,把結果保存到結果集里

//conn.insert(“delete from BookInfo where BookName =” +”\’悟空傳\'”);

//conn.insert(“insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,’悟空傳’,’今何在’,’孫悟空’)”);

try{

while(rs.next()){ //循環,判斷結果集里的記錄,一條條往下走,是否還有下一條記錄,若是返回真,繼續走

System.out.print(rs.getString(“OrderID”));

//System.out.print(rs.getString(“U_age”));

}

rs.close() ; //關閉結果集

}

catch (Exception e){

System.out.println(e.getMessage());

}

}

}

注:

TYPE_FORWARD_ONLY:預設類型。只允許向前訪問一次,並且不會受到其他用戶對該資料庫所作更改的影響。

TYPE_SCROLL_INSENSITIVE:允許在列表中向前或向後移動,甚至能進行特定定位,例如移至列表中的第四個記錄或從當前位置向後移動兩個記錄。不會受到其他用戶對該資料庫所作更改的影響。

TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允許在記錄中定位。這種類型受到其他用戶所作更改的影響。如果用戶在執行完查詢之後刪除一個記錄,那個記錄將從 ResultSet 中消失。類似的,對數據值的更改也將反映在 ResultSet 中。

最近在學java,但是一直連接不上derby資料庫,請大神幫忙,最好能有詳細步驟。

1,下載並安裝Derby:

下載地址: /derby_downloads.html,下載最新版本。

我用的是10.5.3.0。

解壓縮到任意文件夾,我的是:E:\Java\Joy\derby

2,配置環境變數:

建立DERBY_HOME,值:E:\Java\Joy\derby\db- derby-10.5.3.0-bin\db-derby-10.5.3.0-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

3,測試看看Derby安裝成功沒有

開始—Run—CMD

運行 sysinfo

如果安裝成功,將會看到相關信息,下面是截取的部分信息。

——— Derby 信息 ——–

JRE – JDBC: Java SE 6 – JDBC 4.0

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derby.jar] 10

.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbytools.ja

r] 10.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbynet.jar]

10.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbyclient.j

ar] 10.5.3.0 – (802917)

4,創建和使用資料庫

打開命令行,進入想要放置資料庫的目錄,我的是:E:\Java\Joy \derby\Derby_data

然後輸入ij

將會看到:

ij 版本 10.5

ij

接下來就可以創建資料庫了。

例:

創建firstdb資料庫:

ij connect 『jdbc:derby:firstdb;create=true』;

連接firstdb資料庫:

ij connect 『jdbc:derby:firstdb』;

查詢資料庫等操作,只需要輸入相應的Sql語句即可。

創建一個table:

create table firsttable(id int primary key, name varchar(20));

插入數據:

insert into firsttable values(1, 『Hotpepper』);

在命令行測試一下:

select * from firsttable;

結果如下:

ID |NAME

——————————–

1 |Hotpepper

其它命令

斷開連接:

ij disconnect;

退出ij:

ij exit;

5,在Java程序中使用Derby

首先要把相關的Derby jar包加進來(Build Path)。

把derby.jar加進來,如果沒有加進來會出現 「java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver」錯誤

好了,下面寫JAVA代碼進行測試:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class Test {

private static String driver = 「org.apache.derby.jdbc.EmbeddedDriver」;

private static String protocol = 「jdbc:derby:」;

String dbName = 「E:\\Java\\Joy\\derby\\Derby_data\\firstdb」;

static void loadDriver() {

try {

Class.forName(driver).newInstance();

System.out.println(「Loaded the appropriate driver」);

} catch (Exception e) {

e.printStackTrace();

}

}

public void doIt() {

Connection conn = null;

Statement s = null;

ResultSet rs = null;

System.out.println(「starting」);

try {

conn = DriverManager.getConnection(protocol + dbName

+ 「;create=true」);

} catch (SQLException e) {

e.printStackTrace();

}

System.out.println(「Connected to and created database 」 + dbName);

try {

s=conn.createStatement();

rs=s.executeQuery(「select * from firsttable」);

while (rs.next()) {

System.out.println(rs.getInt(1));

System.out.println(rs.getString(2));

}

} catch (SQLException e1) {

e1.printStackTrace();

}

try {

conn.close();

conn = null;

s.close();

s = null;

rs.close();

rs = null;

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

Test t = new Test();

t.loadDriver();

t.doIt();

}

}

OK,完成了。

—————————————————-

附:複製粘貼Derby資料庫:

備份Derby資料庫(derby-10.5.3.0)

小試了一下,很簡單的,就複製粘貼就好了。

找到想要複製的資料庫文件夾,比如:

C:\Program Files\SQuirreL SQL Client\firstdb

我們就把整個firstdb文件夾複製下來,然後粘貼到想要粘貼的地方。

就那麼簡單。

以上是我突發奇想試試看,沒想到就成了。在網上搜了一下,貌似derby備份的方法不是這樣的,而這種方法莫非是傳說中的「熱備份」?

6,在DbVisualizer中使用Derby

選擇Database時選擇到資料庫的目錄。

原創文章,作者:VXAQZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313467.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VXAQZ的頭像VXAQZ
上一篇 2025-01-07 09:43
下一篇 2025-01-07 09:43

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論