Mybatis學習筆記(一)
阿新 • • 發佈:2020-12-07
Mybatis學習筆記(一)
何為框架?
-
三層架構
-
mvc:web開發中,使用mvc架構模式,m:資料模型,v:檢視,c:控制器
- c控制器:接收請求,呼叫service層,顯示請求的處理的結果,如:servlet作為控制器
- v檢視:jsp,html,展示請求的處理結果,將m中的資料顯示出來
- m資料:來自資料庫,檔案,或者網路
-
mcv的作用:
- 實現解耦合
- 讓mvc分層使系統擴充套件性更好,更易維護
-
三層架構:
- 介面層(檢視層):接收使用者的請求,呼叫service,顯示請求的處理結果,包含jsp,html,servlet等,對應的包controller
- 業務邏輯層:處理業務邏輯,使用演算法處理資料,將資料返回給介面層,對應於service包
- 持久層:訪問資料庫或檔案或網路對應於dao包
使用者訪問--->介面層--->業務邏輯層--->持久層--->資料庫
-
優勢:結構清晰,耦合度低,分工明細,可維護性高,有利於標準化,有利於邏輯複用
-
-
三層架構模式和框架
- 介面層--SpringMVC
- 業務層--Spring
- 持久層--Mybatis
-
框架(framework):
- 可重用的、應用骨架、模板,方便用於開發,可升級,改造
- 解決的問題:
- 實現技術的整合
- 提高開發效率
-
Mybatis解決的問題
-
傳統的JDBC操作流程
//載入配置檔案 InputStream in = Jdbc_Utils.class.getResourceAsStream("pro.properties"); Properties properties = new Properties(); properties.load(in); url = properties.getProperty("url"); user = properties.getProperty("user"); password = properties.getProperty("password"); Driver = properties.getProperty("Driver"); //註冊驅動 Class.forName(Driver); //獲取連線 connection = DriverManager.getConnection(url, user, password); String sql = "select * from user where username = ? and PASSWORD = ?"; //建立用於執行sql語句的statement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,usermame); preparedStatement.setString(2,password); //獲得結果集 res=preparedStatement.executeQuery(); //使用結果集 while(res.next){ res.getXxx(Xxx); } //關閉資源 res.close(); preparedStatement.close(); connection.close();
-
優點:直觀,缺點:操作繁瑣,重複,除了核心sql語句外,消耗大量時間重複工作
-
-
Mybatis框架概述:
- 一個持久層框架,減輕JDBC的複雜性,#專注於SQL語句的處理#
- 從xml或註解中獲取sql語句,將結果集ResultSet轉換為java物件
- 關閉資源
- 將sql語句與java程式碼解耦合
- 底層仍然是JDBC