JDBC综合例题
JDBC綜合例題
這個綜合例題主要就是使用JDBC的方式來對數據庫表格進行增、刪、查、改操作,其中還要逐個對這些方法進行測試,所以還要編寫測試用例。編寫這個例題主要意義是練習和進一步熟悉JDBC對數據庫表格進行增、刪、查、改操作的方式,鞏固JDBC這個知識點。
這個例題里要用到的技術有:Maven、DBUnit、C3P0連接池、Log4j、MySQL數據庫。
1.先準備一個干凈的數據庫和兩個表格,并且給這兩個表格構建關聯關系:
2.創建Maven工程,并配置好所有的依賴包:
配置好依賴包:
3.在源碼文件夾和測試源碼文件夾里創建好相應的包(package),以便分類,免得所有類都擠在一起顯得亂糟糟的:
源碼文件夾下的包:
c3p0manager 這個包是用來放連接對象管理類的
org.zero01.iuds 這個包是用來放封裝類和功能類的
exception 這個包是用來放自定義異常類的
?
測試源碼文件夾下的包:
org.zero01.test 這個包是用來放測試用例類的
?
?
? 4.在c3p0manager 包下創建一個類,這個類用于通過C3P0連接池獲得數據庫連接對象,并且這個類是單例模式:
代碼示例:
5.編寫兩個表格的數據封裝類:
Cls代碼示例:
Student代碼示例:
6.編寫對Cls表格操作的功能類:
7.編寫對Student表格操作的功能類:
8.在測試源碼文件夾下的org.zero01.test包里編寫測試類,對兩個功能類的方法逐個進行測試:
測試結果:
測試覆蓋率:
日志信息的打印:
提示:我這是已經完成的代碼,但是各位在實際編寫代碼的時候,最好是寫一個方法就測試一下,不要全部功能代碼寫完再寫測試用例測試,因為那樣一旦出問題了,很多地方的代碼都要進行修改,如果寫一個方法就測一個方法的話,就只需要針對一個方法進行修改,而其他方法不需要變動,這樣效率高一些并且修改代碼也輕松些,不用到處修修改改弄得眼花繚亂。
?
? 我在編寫C3P0Manager類的時候,犯了一個邏輯上的小錯誤,在這里記錄一下這個錯誤,出現這個錯誤是因為我把構建對象的屬性聲明在了C3P0數據源類變量的前面,在構造器外調用getConnection方法的時候就會拋出空指針異常:
圖解:
正確的聲明方式:
轉載于:https://blog.51cto.com/zero01/1977020
總結
- 上一篇: Gartner调查显示政府部门数字化转型
- 下一篇: mybatis常用方法总结