天天看點

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  JDBC是連接配接java應用程式和資料庫之間的橋梁。

  什麼是JDBC?

  Java語言通路資料庫的一種規範,是一套API。

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

  JDBC全稱是java資料庫連接配接,可以為多種資料庫提供統一的通路。展現了Java“一次編寫,處處運作”的高大上精神。

  

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  JDBC庫中所包含的API任務通常與資料庫使用:

    連接配接到資料庫。

    建立SQL或MYSQL語句

    在資料庫中執行SQL或MYSQL語句。

    檢視或修改記錄

  比如:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

    明确目的:需求(做什麼)

          實作屌絲逆襲

          擁有女神禁區,享有檢視,添加,修改,删除等功能。

    指導思想:概述詳設(怎麼做)

    工具準備:Mysql、Eclipse、Navicat(資料庫管理工具)

    加載驅動程式:Class.forName(driverClass);

    加載mysql驅動:Class.forName("com.mysql.jdbc.Driver");

    加載Oracle驅動:Class.forName("oracle.jdbc.driver.OracleDriver");

    獲得資料庫連接配接:DriverManager.getConnection("jdbc:mysql:localhost:3306/mydb","root","mysql123");

    建立Statement對象:conn.createStatement();

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

DBUtil.java

    

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  詳設:

    采用MVC三層結構

      

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  采用MVC三層架構:建議從下往上開發(DB->view,需求讀懂以後,設計資料庫,然後根據資料庫映射模型,再寫控制層,再寫視圖層)

    --View視圖層  :展示資料,回報使用者行為

    --Control控制層  :控制資料流通過程,協調視圖層和資料層

    --Model模型層  :與資料庫建立映射,與資料進行互動

    --DB資料庫

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  先新增對應的model層,按照資料庫表對應的字段編寫實體類。

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

Goddess.java

   然後開始新增Dao層,并修改DBUtil.java

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

GoddessDao.java

  新增Controller層:GoddessAction.java 

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

GoddessAction.java

 運作結果:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  PS:CRUD:增加Create、讀取Retrieve(重新得到資料-->進階應用:報表,分頁)、更新Update和删除Delete

  新增create操作

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

addGoddess(Goddess g)添加女神方法

  測試:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  運作結果:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  修改、删除、查詢(根據ID)操作:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

updateGoddess()、delGoddess()、get()

  查詢(根據name/mobile等)操作:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

get(String name,String mobile)

   測試:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

   運作結果:

   

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  查詢操作的進一步完善:

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

get(List<Map<String,Object>>)

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

  這個查詢的亮點在于:使用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 "+動态構造條件子句。

  控制層起到一個橋梁的作用,連接配接模型層和視圖層。

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

GoddessAction1.java

    程式啟動後,一直保持在運作狀态

   循環接收控制台的輸入參數

   調用Action(控制層)響應,并将傳回結果展示在控制台中。

   知道輸入特定的輸入标記(如EXIT)後,程式退出。

    循環接收參數

   某個功能的保持

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結
Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

View.java

    

Java資料庫連接配接--JDBC基礎知識(操作資料庫:增删改查)一、JDBC簡介二、JDBC使用詳解三、JDBC總結

   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與資料庫分開,開發者隻需關心内部邏輯的實作而不需注重資料庫連接配接的具體實作。(沒有中間環節,是推薦方式!

當神已無能為力,那便是魔渡衆生