天天看點

「高并發秒殺」mysql資料庫引擎差別

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

Mybatis基本介紹

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

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

确切地說,MyBatis 并不完全是一種ORM架構,它的設計思想和ORM相似,隻是它允許開發,人員直接編寫SQL語句,使得通路資料庫更加靈活,更準确地說,它應該是一種“SQL Mapping”架構。

「高并發秒殺」mysql資料庫引擎差別

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資料庫引擎差別

Mybatis的關聯映射和動态SQL

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

關聯關系是面向對象分析、面向對象設計最重要的知識,MyBatis完全可以了解這種關聯關系,如果映射得當,MyBatis的關聯映射将可以大大簡化持久層資料的通路。關聯關系大緻有如下分類。

「高并發秒殺」mysql資料庫引擎差別

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

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

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

「高并發秒殺」mysql資料庫引擎差別

Mybatis注解配置

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

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

「高并發秒殺」mysql資料庫引擎差別

Spring4整合Mybatis3

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

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

「高并發秒殺」mysql資料庫引擎差別
文檔的最後一部分是項目實戰
  1. 人事管理系統功能子產品設計
  2. 人事管理系統持久化元件設計
  3. 人事管理系統業務邏輯元件設計
  4. Spring MVC整合MyBastis優勢

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

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

「高并發秒殺」mysql資料庫引擎差別

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

最後

由于文案過于長,在此就不一一介紹了,這份Java後端架構進階筆記内容包括:Java集合,JVM、Java并發、微服務、SpringNetty與 RPC 、網絡、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基礎、負載均衡、資料庫、一緻性算法、Java算法、資料結構、分布式緩存等等知識詳解。

「高并發秒殺」mysql資料庫引擎差別

本知識體系适合于所有Java程式員學習,關于以上目錄中的知識點都有詳細的講解及介紹,掌握該知識點的所有内容對你會有一個質的提升,其中也總結了很多面試過程中遇到的題目以及有對應的視訊解析總結。

有需要的朋友可以點選這裡免費擷取

「高并發秒殺」mysql資料庫引擎差別

總結。**

有需要的朋友可以點選這裡免費擷取

[外鍊圖檔轉存中…(img-OKjVewG9-1627021446920)]

「高并發秒殺」mysql資料庫引擎差別