JAVA JDBC使用詳解

2021-09-22 20:17:00 字數 2906 閱讀 4481

第一步:載入驅動

class.

forname

("oracle.jdbc.driver.oracledriver"

);

第二步:通過驅動管理器獲取對應連線物件

jdbc程式中的connection,它用於代表資料庫的鏈結,collection是資料庫程式設計中最重要的乙個物件,客戶端與資料庫所有互動都是通過connection物件完成的,建立方法為:

connection conn = drivermanager.getconnection(url,user,pass);

該物件常用方法為:

方法描述

createstatement()

建立向資料庫傳送sql的statement物件。

preparestatement(sql)

建立向資料庫傳送預編譯sql的preparesatement物件。

preparecall(sql)

建立執行儲存過程的callablestatement物件。

setautocommit(boolean autocommit)

設定事務是否自動提交。

commit()

在鏈結上提交事務。

rollback()

在此鏈結上回滾事務。

//url:使用jdbc訪問資料庫位址  user:登入資料庫的使用者名稱  password:登入資料庫的密碼

//url jdbc:oracle:thin:@資料庫伺服器ip:資料庫埠號:資料庫例項名

connection conn=drivermanager.

getconnection

("jdbc:oracle:thin:@localhost:1521:orcl"

,"scott"

,"lw"

);

第三步:編寫sql語句

string sql=

"select empno,ename,job from emp"

;

第四步:建立語句物件

statement stmt=conn.

createstatement()

;

第五步:執行sql語句,返回結果集物件

statement物件常用方法:

方法含義

executequery(string sql)

用於向資料傳送查詢語句。

executeupdate(string sql)

用於向資料庫傳送insert、update或delete語句

execute(string sql)

用於向資料庫傳送任意sql語句

addbatch(string sql)

把多條sql語句放到乙個批處理中

executebatch()

向資料庫傳送一批sql語句執行

resultset rs=stmt.

executequery

(sql)

;

第六步:對結果集進行處理

resultset提供了對結果集進行滾動的方法:

next():移動到下一行

previous():移動到前一行

absolute(int row):移動到指定行

beforefirst():移動resultset的最前面。

afterlast() :移動到resultset的最後面。

while

(rs.

next()

)

第七步:關閉資源

rs.

close()

;stmt.

close()

;conn.

close()

;

現在我們有一種更高效的方法:

通過建立預編譯物件,sql語句被預編譯並儲存在preparestatement 物件中。然後使用此物件多次高效的執行該語句。

preperedstatement是statement的孩子,它的例項物件可以通過呼叫:

preperedstatement st = conn.preparedstatement()

第三步中,sql語句,預編譯的物件使用佔位符?代替。

相對於statement物件而言

preperedstatement可以避免sql注入的問題。

該方法部分**如下:

//編寫sql語句,從外界插入的引數此時使用佔位符?代替

string sql=

"select empno,ename,job from emp where ename=?"

;//建立預編譯物件

pstmt=conn.

preparestatement

(sql)

;// sql語句被預編譯並儲存在preparestatement 物件中。然後使用此物件多次高效的執行該語句

//對佔位符設值

pstmt.

setstring(1

, ename)

;//執行sql,返回結果集物件

rs=pstmt.

executequery()

;//注意:不能傳入引數

//處理結果集

while

(rs.

next()

)

java jdbc執行緒池的使用

好久沒直接使用jdbc了,今天重溫了一下相關知識,並對連線池的使用寫了簡單的示例,記錄在此以便需要的同行參考和方便自己查閱,不足之處歡迎批評指正。1 dbcp資料來源 所需jar包 dbcp 連線池的實現,commons pool2 連線池實現的依賴 org.apache.tomcat dbcp 6...

Java JDBC 學習 事務

在資料庫中,所謂事務是指一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。為確保資料庫中資料的一致性,資料的操縱應當是離散的成組的邏輯單元 當它全部完成時,資料的一致性可以保持,而當這個單元中的一部分操作失敗,整個事務應全部視為錯誤,所有從起始點以後的操作應全部回退到開始狀態。事務的操作 先定義開...

7 0 Java JDBC程式設計

目錄 二.mysql 命令列 三.mysql特殊操作 四.mysql常用操作 增刪改查 五.mysql 事務 六.mysql 資料庫連線池 選擇 platform independent 進入mysql命令列 mysql u root p 輸入密碼 切換到test資料庫 mysql use test...