第一步:載入驅動
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...