Java JDBC資料庫程式設計

2021-07-26 12:19:40 字數 2036 閱讀 6469

drivermanager

connection

statement

preparedstatement

resultset

(1)載入資料庫驅動。

class.forname(driver);
(2)通過drivermanager獲取資料庫連線。

connection conn =drivermanager.getconnection(url,user,pass);
(3)通過connection物件建立statement物件。

statement stmt =conn.createstatement();
(4)使用statement執行sql語句。

resultset rs = stmt.executequery(string sql);
(5)操作結果集。如果執行的sql語句是查詢語句,執行結果將返回乙個resultset物件,該物件裡儲存了sql語句查詢的結果。程式可以通過操作該resultset物件來取出查詢結果。

執行sql的方法有三種,executeupdate執行ddl和dml語句,executequery方法執行查詢語句,execute方法執行sql語句,如果知道要執行的sql是什麼型別不用execute,因為很麻煩。

connection物件的createstatement方法產生乙個statement物件,然後用這個物件執行sql,這種方式比較慢而且不安全,建議用connection的preparestatement,引數是乙個帶佔位符的sql語句,然後建立乙個preparedstatement物件,操作這個物件set***方法讓sql語句完整,set***方法的引數是(int 佔位符,*** 內容),然後再執行executeupdate方法。

注意:用預編譯的sql語句不能是關鍵字。

jdbc返回的結果集是resultset預設是不能滾動更新的,只能用next()往下,想要建立可更新的resultset,必須在建立statement或preparedstatement時傳入額外的引數:

resultsettype控制resultset的型別,選擇resultset.type_scroll_insensitive

resultsetconcurrency控制resultset的併發型別,選擇resultset.concur_updatable

preparedstatement pstmt = conn.preparestatement(sql

, resultset.type_scroll_insensitive

, resultset.concur_updatable);

這樣建立的resultset就是可滾動可更新的,可以呼叫update***(jint c, *** value)方法修改指標的記錄,然後用updaterow()方法來更新。

方法

得到行數:getrow()

指標移動到指定行:absolute(int i)

指標往前移動:previous()

移動到最後:last()

事務處理是處理一組sql要不都完成要不都不完成,其中如果都完成了要提交事物,如果失敗了要事物回滾。

首先關閉自動提交,用connection的setautocommit方法conn.setautocommit(false),然後用connection的commit方法來提交事務conn.commit(),如果任意一條sql語句執行失敗,我們應該用connection的rollback來回滾事務conn.rollback()

java JDBC連線資料庫方法

1.裝載驅動器 class.forname 驅動器類名稱 access驅動器類名稱 sun.jdbc.odb.jdbcodbcdriver class.forname sun.jdbc.odb.jdbcodbcdriver 2.建立與資料庫的連線 connection con drivermanag...

Java JDBC連線資料庫(二)

本篇文章接著上篇文章,還剩下乙個知識點是,可滾動的結果接集和可更新的結果集。一般預設情況之下,多結果集是不可以顯式滾動,移動選擇的。如果想要做到,需要指定一些引數,那麼本篇就接著介紹如何操作可滾動的結果集。預設情況下,結果集是不可以滾動的,如果想要可滾動就需要通過過載的構造方法建立乙個不同的stat...

8種Java JDBC資料庫連線

關鍵字 1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid s...