從resultset中獲取資料的兩種方式:
二.dbcp
因為有很多種資料庫,sun公司提供了乙個jdbc的介面,這樣各個資料庫廠商按照規範提供資料庫的驅動(根據jdbc介面寫實現類),程式設計師只需找我jdbc的呼叫,即可訪問任何資料庫.
注: jdbc統一資料庫訪問.
//1. 註冊驅動
class.
forname
("com.mysql.jdbc.driver");
//2. 獲取連線物件
connection conn = drivermanager.
getconnection
("jdbc:mysql://localhost:3306/db3"
,"root"
,"root");
//3. 建立sql執行物件
statement stat = conn.
createstatement()
;//4. 執行sql
string sql =
"drop table if exists jdbc"
; stat.
execute
(sql)
; system.out.
println
("執行完成");
//5. 關閉資源
stat.
close()
; conn.
close()
;
此方法可以執行任意的sql 但是推薦執行ddl(資料定義語言 create drop alter truncate) 返回值為boolean值 返回值代表的是是否有結果集(只有查詢語句有結果集)
增刪改操作全部使用此方法 返回值為int 表示生效的行數
此方法執行查詢操作 返回resultset 通過while迴圈遍歷
**如下:
//執行查詢 得到的結果封裝在了resultset中
resultset rs = stat.
executequery
(sql)
;//遍歷結果集
while
(rs.
next()
)
dbcp是常用的資料庫連線池
如果沒有連線池一萬次請求會對應一萬次和資料庫伺服器的連線和斷開連線操作,使用連線池之後可以將連線池中的連線復用,從而提高執行效率
//建立資料來源物件
basicdatasource datasource =
newbasicdatasource()
;//設定資料庫連線資訊
datasource.
setdriverclassname
("com.mysql.jdbc.driver");
datasource.
seturl
("jdbc:mysql://localhost:3306/db3");
datasource.
setusername
("root");
datasource.
setpassword
("root");
//設定初始連線數量
datasource.
setinitialsize(3
);//設定最大連線數量
datasource.
setmaxactive(5
);//從連線池中獲取連線
connection conn = datasource.
getconnection()
; system.out.
println
(conn)
;
1.**更直觀,簡潔
2.可以避免sql注入, 因為在預編譯時已經把sql邏輯固定鎖死,不會被之後替換進去的值改變原有邏輯
因為每次sql的執行都需要和資料庫伺服器進行資料傳輸,如果執行的sql太多每次和資料庫進行互動浪費資源執行效率低,使用批量操作可以把多條sql語句合併到一次互動中,這樣可以提高執行效率
statement
//新增到批量操作
stat.
addbatch
(sql1)
; stat.
addbatch
(sql2)
; stat.
addbatch
(sql3)
;//執行批量操作
stat.
executebatch()
;
preparedstatementstat = conn.
preparestatement
(sql)
; stat.
setstring(1
,"劉備");
stat.
setstring(2
,"aaa");
//新增到批量處理
stat.
addbatch()
; stat.
setstring(1
,"關羽");
stat.
setstring(2
,"bbb");
//新增到批量處理
stat.
addbatch()
; stat.
setstring(1
,"張飛");
stat.
setstring(2
,"ccc");
//新增到批量處理
stat.
addbatch()
;//執行
stat.
executebatch()
;
JDBC學習筆記
size medium color red 本節jdbc的操作學習大致分為 color size size medium color red list 資料庫的裝載和連線 資料庫的增刪改查 資料庫的預編譯 資料庫的事務管理 list color size 下面直接上 了,還是 比較實在 以mysql...
JDBC 學習筆記
本質其實就是官方定義的一套操作所有關係型資料庫的規則,即介面。各個資料庫廠商實現這套介面,提供資料庫驅動jar包。我們可以使用這套介面 jdbc 程式設計,真正執行的 是驅動jar包中的實現類 匯入驅動jar包 註冊驅動 class.forname com.mysql.jdbc.driver 獲取資...
JDBC學習筆記
定義資料庫的url,資料庫名,登入名,密碼 string drivername com.microsoft.sqlserver.jdbc.sqlserverdriver 驅動名稱 string dburl jdbc sqlserver 資料庫的url,其中test為你的資料庫名 string use...