JDBC是連接配接java應用程式和資料庫之間的橋梁。
什麼是JDBC?
Java語言通路資料庫的一種規範,是一套API。
JDBC (Java Database Connectivity) API,即Java資料庫程式設計接口,是一組标準的Java語言中的接口和類,使用這些接口和類,Java用戶端程式可以通路各種不同類型的資料庫。比如建立資料庫連接配接、執行SQL語句進行資料的存取操作。

JDBC代表Java資料庫連接配接。
JDBC庫中所包含的API任務通常與資料庫使用:
連接配接到資料庫
建立SQL或MySQL語句
在資料庫中執行SQL或MySQL查詢
檢視和修改記錄
比如:
先建立Java 工程,将jar包導進去:
然後建立相應的資料庫和表。
編寫DBUtil.java
采用MVC三層架構:建議由下往上開發(DB->view,需求讀懂以後,設計資料庫,然後根據資料庫映射模型,再寫控制層,再寫視圖層)
View視圖層——展示資料,回報使用者行為
Control控制層——控制資料流通過程,協調視圖層和資料層
Model模型層——與資料庫建立映射,與資料進行互動
(DB資料庫)
先新增對應的model層:按照資料庫表對應的字段編寫實體類。
然後開始新增Dao層,并修改DBUtil.java
DBUtil.java代碼如下:
goddessDao.java 代碼如下:
新增Controller層:GoddessAction.java
PS:CRUD:增加(Create)、讀取(Retrieve)(重新得到資料-->進階應用:報表、分頁)、更新(Update)和删除(Delete)
新增create操作:
測試:
修改、删除、查詢(根據id)操作:
查詢(根據name\mobile等)操作
運作結果:
查詢操作的進一步完善:
這個查詢的亮點在于:使用get(List<Map<String,Object>> params) 和 where 1=1;
jdbc傳參數過多的時候:用List<Map<String,Object>> params雙泛型作為參數.
我們查詢的每一個條件都是一個鍵值對。鍵值對的資料結構就是Map。
然後是因為查詢的條件可能是多個,數量不确定,是以用List 比較好,是以就會是List<Map<key,value>>這樣的資料結構了。
上面使用where 1=1的原因主要是下面的語句直接就跟着一個and。SQL語句後面需要跟着where,但不确定where後面是否有語句,就要加上1=1,保證文法不會出錯。
一般用于構造動态SQL語句,"SELECT ... FROM ... WHERE 1=1 "+動态構造條件子句。
控制層起到一個橋梁的作用,連接配接模型層和視圖層。
代碼執行個體:
運作結果:
1、JDBC的基本概念:JDBC是連接配接資料庫的橋梁; 是由Java語言編寫的類和接口組成,可以為多種資料庫提供統一的通路。 2、采用MVC三層結構: DB(資料庫)、Model(模型層)、Control(控制層)、View(視圖層) 模型層(DB + DAO):封裝了實作類 控制層:負責調用模型層 視圖層調用控制層 3、JDBC各種連接配接方式的對比: 1、JDBC + ODBC橋的方式。特點:需要資料庫的ODBC驅動,僅适用于微軟的系統 這種方式,JDBC将調用傳遞給ODBC,然後ODBC再調用本地的資料庫驅動代碼。 2、JDBC + 廠商API的形式。特點:廠商API一般使用C編寫 這種方式,JDBC将調用直接傳遞給廠商API的服務,然後在調用本地的資料庫驅動。 3、JDBC + 廠商Database Connection Server + DataBase的形式。 特點:在JAVA與DATABASE之間架起了一台專門用于資料庫連接配接的伺服器(一般有資料庫廠商提供) 這種方式,JDBC将調用傳遞給中間伺服器,中間伺服器再将調用轉換成資料庫能夠被調用的形式,在調用資料庫伺服器。中間增設資料庫伺服器能夠提升效率,但不如直接操作資料庫便捷。 4、JDBC + DATABASE的連接配接方式。 特點:這使得Application與資料庫分開,開發者隻需關心内部邏輯的實作而不需注重資料庫連接配接的具體實作。(沒有中間環節,是推薦方式!)
-------------我是低調的分割線--------------------------
如果對你有幫助,可以點選“推薦”哦`(*∩_∩*)′