1. 程式人生 > 實用技巧 >Mybatis學習筆記(一)

Mybatis學習筆記(一)

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