JDBC-day01
#JDBC
Java DataBase Connectivity
Java數(shù)據(jù)庫(kù)連接
JDBC提供了一套和數(shù)據(jù)庫(kù)交互
###為什么要使用JDBC
因?yàn)镴ava語(yǔ)言在工作中有可能會(huì)有需求去訪問(wèn)各種數(shù)據(jù)庫(kù)(Oracle mysql db2)
為了避免Java程序員每一種數(shù)據(jù)庫(kù)都學(xué)習(xí)一套相關(guān)的API,為了解決這個(gè)問(wèn)題Sun公司提供了一套JDBC接口,在接口中提供了對(duì)數(shù)據(jù)庫(kù)各種操作的方法聲明,
讓各個(gè)數(shù)據(jù)庫(kù)的廠商去寫(xiě)方法的實(shí)現(xiàn)類(類似于電腦中的驅(qū)動(dòng)),這樣Java程序員只需要掌握J(rèn)DBC方法的調(diào)用,就能夠完成對(duì)各種數(shù)據(jù)庫(kù)的操作
###如何使用JDBC
1.創(chuàng)建maven工程
2.下載musql數(shù)據(jù)庫(kù)連接的jar包
-內(nèi)網(wǎng):maven.tedu.cn
-外網(wǎng):maven.aliyun.com
搜索 mysql ? ? ?找到5.1.6如果沒(méi)有使用5.1的其他版本
3.創(chuàng)建了
?
###執(zhí)行sql語(yǔ)句
1.執(zhí)行DDL:stat.execute(sql)
2.執(zhí)行DML:stat.executeUpdate(sql)
3.執(zhí)行DQL:
?
##結(jié)果集的使用
-rs,next():將游標(biāo)移動(dòng)到下一個(gè),如果有下一條數(shù)據(jù)則返回true,沒(méi)有則返回false
-見(jiàn)到resultset就while循環(huán)遍歷
-從resultset中獲取數(shù)據(jù)有兩種方式:
1.通過(guò)表字段名獲取數(shù)據(jù)
string name = rs.getstring("name");
2.通過(guò)表字段的位置獲取數(shù)據(jù) 位置從1開(kāi)始
string name = rs.getstring(2);
?
-數(shù)據(jù)庫(kù)字段類型和java類型的對(duì)應(yīng)關(guān)系
? ? ? ? mysql ? ? ? ? ? ? ? java
int getInt
float
double
varchar
datetime
timestamp
?
##Junit測(cè)試
- 在一個(gè)無(wú)參無(wú)返回值的方法上上面添加@Test注解
- 在方法名上右鍵->run as ->Junit Test 即可運(yùn)行此方法
- 這種好處是可以在一個(gè)類中有多個(gè)可執(zhí)行的方法,而main只有一個(gè)
?
?
###自定義模板代碼的步驟
?
##stat.executeUpdate()方法的返回值是個(gè)整數(shù) 代表了此行sql的生效行數(shù)
?
#課程回顧:
1.JDBC:數(shù)據(jù)庫(kù)連接,是sun公司提供的一套與各種數(shù)據(jù)庫(kù)交互的api
2.JDBC的好處:程序員只需要掌握J(rèn)DBC一套api就可以訪問(wèn)多種數(shù)據(jù)庫(kù)
?
如何使用JDBC:
三種執(zhí)行方法:
execute :返回值boolean true ?有結(jié)果集
executeUpdate: 返回值int 代表生效行數(shù)
executeQuery:返回值
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/smallwangmusk/p/8968574.html
總結(jié)
以上是生活随笔為你收集整理的JDBC-day01的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Jmeter加Fiddler对web项目
- 下一篇: 3451: Tyvj1953 Norma