本文目錄一覽:
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