一奶栖。JDBC開發(fā)步驟
1)注冊驅動:告訴 Java 我們需要去使用哪個數(shù)據(jù)庫伍伤?MySQL 和 Oracle
2)獲取連接對象:使用 JDBC 中提供的功能沧烈,獲取一個 Connection 對象實例阴孟。
3)獲取執(zhí)行者平臺:主要是獲取執(zhí)行 SQL 語句的載體耘眨,叫 Statement/preparedStatement 對象實例昼榛。
4)準備 SQL 語句:將我們需要執(zhí)行 SQL 字符串語句寫好。
5)執(zhí)行 SQL 語句:進行增刪改查等相關操作剔难,還需要接收返回值胆屿。
6)處理結果:多個學生 -> 集合,主要是“結果集”偶宫。
7)釋放資源:將完成后的對象關閉掉非迹,節(jié)省性能。close() 方法進行釋放纯趋。
二憎兽,JDBC 的環(huán)境搭建
1)添加數(shù)據(jù)庫的驅動包
如果導入的是 8 版本,需要添加核心包和依賴包吵冒。
如果導入的的 5 版本纯命,只需要添加核心包。
2)在工程中痹栖,新建一個叫 lib 的 folder(文件夾)
3)將上面找到的驅動包亿汞,直接拖到 lib 路徑下。
4)選中 lib 包中所有的 jar 文件
右鍵 build path -> add to build path...
5)通過調用第三方包(也就是上面的驅動包)中提供的實現(xiàn)類结耀,來獲取與數(shù)據(jù)庫的連接對象留夜,進行數(shù)據(jù)庫操作。
三 图甜。數(shù)據(jù)的封裝
1)先連接數(shù)據(jù)庫碍粥,執(zhí)行SQL語句,獲取數(shù)據(jù)
rs.getString()
rs.getInt()
2)先得有一個實體類黑毅,比如 Student嚼摩。JavaBean、POJO
- 實現(xiàn)了序列化接口
- 字段
- get、set 方法
- 構造器(有參數(shù)枕面、無參數(shù))
- toString 方法
3)將得到的數(shù)據(jù)愿卒,通過實體類的 setXxx() 方法設置回去對象中保存。
4)如果需要獲取數(shù)據(jù)的話潮秘,則通過調用實體類的 getXxx() 方法即可琼开。
框架:別人將一些常用的功能,封裝起來枕荞,然后給其他開發(fā)者調用柜候。
四。常見問題
1.JDBC 是啥躏精?
JDBC 其實就是一個轉換接口渣刷,主要是我們寫好java代碼,然后轉成SQL語句矗烛,去操作數(shù)據(jù)庫辅柴,然后獲取了數(shù)據(jù)之后,接著如何封裝到JAVA類中瞭吃,然后通過“面向對象”的思維去操作數(shù)據(jù)庫碌嘀。
2.next()方法的作用?
作用:指針指向下一條記錄虱而,有記錄(有值)返回true并把記錄內容存入到對應的對象中筏餐,也就是obj.next()的obj中。如果沒有返回false牡拇。
一般和ResultSet對象和while循環(huán)一起使用,去迭代結果集穆律,并在循環(huán)中調用getXXX(intfieldIndex)/getXXX(String columnName)方法獲取字段值惠呼。
過程:ResultSet對象具有指向其當前數(shù)據(jù)行的指針。開始峦耘,指針被置于第一行剔蹋。.next()方法將指針移動到下一行,然后while循環(huán)迭代遍歷ResultSet對象辅髓。
五:Statement接口
●用于執(zhí)行靜態(tài)SQL語句并返回他所生成結果的對象泣崩。
●三種Statement類
●Statement:由createStatement創(chuàng)建,用于發(fā)送簡單的SQL語句洛口。(不帶參數(shù)的)
●PreparedStatement:繼承自Statement接口矫付,由prepareStatement創(chuàng)建,用于發(fā)送含有一個或多個輸入?yún)?shù)的SQL語句第焰。PrepareStatement對象比Statement對象的效率更高买优,并且可以防止SQL注入。我們一般都用PreparedStatement。
●CallableStatement:繼承自PreparedStatement杀赢,由方法prePareCall創(chuàng)建烘跺,用于調用存儲過程。
●常用的Statement方法:
●execute():運行語句脂崔,返回是否由結果集
●excuteQuery():運行select語句滤淳,返回ResultSet結果集。
●executeUpdate():運行insert砌左,update脖咐,delete操作,返回更新的行數(shù)绊困。
五:Params 計算機函數(shù)
params是一個計算機函數(shù)文搂,表示函數(shù)的參數(shù)是可變個數(shù)的,即可變的方法參數(shù)秤朗,就像 delphl 里 writeln函數(shù)一樣煤蹭,用于表示類型相同,但參數(shù)數(shù)量不確定