基礎 底層 算法 數據庫,mysql面試題及答案2021

程序員ioms 2021-09-19 01:47:45 阅读数:936

算法 mysql 答案

在這裏分享一份 [mybatis從入門到精通] 的强力教程,定能够助你一臂之力。

Mybatis基本介紹

  1. ORM和MyBatis
  2. 對象/關系數據庫映射(ORM)
  3. 基本映射方式
  4. 流行的ORM框架簡介

目前流行的編程語言,例如Java、 C#等,都是面向對象的編程語言;而目前主流的數據庫產品,例如Oracle、DB2等,依然是關系數據庫。編程語言和底層數據庫的發展不協調,催生出了ORM框架,ORM框架可作為面向對象編程語言和數據庫之間的橋梁。

確切地說,MyBatis 並不完全是一種ORM框架,它的設計思想和ORM相似,只是它允許開發,人員直接編寫SQL語句,使得訪問數據庫更加靈活,更准確地說,它應該是一種“SQL Mapping”框架。

基礎 底層 算法 數據庫,mysql面試題及答案2021_程序員

Mybatis的體系結構

  1. SqlSessionFactory
  2. SqlSession
  3. MyBatis的配置文件結構
  4. settings設置
  5. typeAliases類型命名
  6. typeHandlers類型處理器
  7. objectFactory對象工廠
  8. environments配置環境
  9. mapper映射器

通過前面的介紹可以知道,MyBatis 的持久化解决方案將用戶從原始的JDBC訪問中解放出來,用戶只需要定義需要操作的SQL語句,無須關注底層的JDBC操作,就可以面向對象的方式進行持久層操作。底層數據庫連接的獲取、數據訪問的實現、事務控制等都無須用戶關心,從而將應用層從底層的JDBC/JTAAPI抽取出來。通過配置文件管理JDBC連接,讓MyBatis解决持久化訪問的實現。

MyBatis中的常用對象有SqSessionFactory和SlSession。

基礎 底層 算法 數據庫,mysql面試題及答案2021_程序員_02

Mybatis的關聯映射和動態SQL

  1. 一對一
  2. 一對多
  3. 多對多
  4. 動態SQL

關聯關系是面向對象分析、面向對象設計最重要的知識,MyBatis完全可以理解這種關聯關系,如果映射得當,MyBatis的關聯映射將可以大大簡化持久層數據的訪問。關聯關系大致有如下分類。

基礎 底層 算法 數據庫,mysql面試題及答案2021_後端_03

Mybatis的事務管理以及緩存機制

  1. 事務的概念
  2. Transaction接口
  3. 事務的配置創建和使用
  4. 一級緩存( SqlSession級別)
  5. 二級緩存(mapper級別)

每個業務邏輯都是由一系列數據庫 訪問完成的,這-系列數據庫訪間可能會修改多條數據記錄,這一系列修改應該是一個整體,絕不能僅修改其中的幾條數據記錄。也就是說,多個數據庫原子訪問應該被綁定成一個整體,這就是事務。事務是一個最小的邏輯執行單元,整個事務不能分開執行,要麼同時執行,要麼同時放弃執行。

基礎 底層 算法 數據庫,mysql面試題及答案2021_程序員_04

Mybatis注解配置

  1. MyBatis常用注解
  2. MyBatis注解的插入、修改、删除和查詢操作
  3. MyBatis注解的一對一、一對多和多對多操作
  4. MyBatis注解的動態SQL

前面介紹了MyBatis的基本用法、關聯映射、動態SQL和緩存機制等知識,其所有的配置都是使用XML完成,但是大量的XML配置文件的編寫是非常繁瑣的,因此MyBatis也提供了更加簡便的基於注解(annotation) 的配置方式。

基礎 底層 算法 數據庫,mysql面試題及答案2021_Java_05

Spring4整合Mybatis3

  1. 開發環境搭建
  2. 准備所需的jar包
  3. 准備數據庫資源
  4. 完成配置文件
  5. 持久層功能實現
  6. 服務層功能實現
  7. 控制層功能實現
  8. jsp頁面
  9. 測試Spring4整合MyBatis3

在實際的項目開發中,我們需要將Spring和MyBatis進行整合,從而使用Spring 依賴注入以减少代碼的耦合,使用Spring MVC處理請求並作出響應,使用MyBatis更加簡捷地完成數據庫操作。這裏將重點介紹Spring和MyBatis的整合過程。

基礎 底層 算法 數據庫,mysql面試題及答案2021_後端_06

文檔的最後一部分是項目實戰

  1. 人事管理系統功能模塊設計
  2. 人事管理系統持久化組件設計
  3. 人事管理系統業務邏輯組件設計
  4. Spring MVC整合MyBastis優勢

最後將會綜合運用前面所介紹的知識來開發一個簡單的人事管理 (HRM)系統。該系統包括用戶管理、部門管理、職比特管理、員工管理、公告管理、下載中心等常用的人事管理系統功能。

本系統采用前面介紹的Java EE架構: Spring MVC + MyBatis3.4,該系統架構成熟,性能良好,運行穩定。Spring的IOC容器負責管理業務邏輯組件、持久層組件及控制層組件,這樣可以充分利用Spring的依賴注入的優勢,進一步增强系統的解耦性,從而提高應用的可擴展性,降低系統重構的成本。

基礎 底層 算法 數據庫,mysql面試題及答案2021_程序員_07

這裏詳細介紹了一個完整的JavaEE項目:人事管理系統,在此基礎上可以擴展出企業的HRM系統、OA系統等。因為企業平臺本身的複雜性,所以本項目涉及的錶達到6個,而且各個模塊的業務邏輯也比較複雜,這些對初學者可能有一定難度, 但只要讀者先認真閱讀本書前面所介紹的知識,並結合上述的講解,再配合資源文件中的案例代碼,則一定可以掌握這裏所介紹的內容,也是將理論知識應用到實際開發的典範

讀者福利

 CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】

基礎 底層 算法 數據庫,mysql面試題及答案2021_Java_08

更多筆記分享

基礎 底層 算法 數據庫,mysql面試題及答案2021_程序員_09

版权声明:本文为[程序員ioms]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919014745377Z.html