1. 程式人生 > >總結一:淺析Mybatis架構

總結一:淺析Mybatis架構

1、  mybatis配置

SqlMapConfig.xml,此檔案作為mybatis的全域性配置檔案,配置了mybatis的執行環境等資訊。

mapper.xml檔案即sql對映檔案,檔案中配置了操作資料庫的sql語句。此檔案需要在SqlMapConfig.xml中載入。

2、  通過mybatis環境等配置資訊構造SqlSessionFactory即會話工廠

3、  由會話工廠建立sqlSession即會話,操作資料庫需要通過sqlSession進行。

4、  mybatis底層自定義了Executor執行器介面操作資料庫,Executor介面有兩個實現,一個是基本執行器、一個是快取執行器。

5、  Mapped Statement也是mybatis一個底層封裝物件,它包裝了mybatis配置資訊及sql對映資訊等。mapper.xml檔案中一個sql對應一個Mapped Statement物件,sql的id即是Mapped statement的id。

6、  Mapped Statement對sql執行輸入引數進行定義,包括HashMap、基本型別、pojo,Executor通過Mapped Statement在執行sql前將輸入的java物件對映至sql中,輸入引數對映就是jdbc程式設計中對preparedStatement設定引數。

7、  Mapped Statement對sql執行輸出結果進行定義,包括HashMap、基本型別、pojo,Executor通過Mapped Statement在執行sql後將輸出結果對映至java物件中,輸出結果對映過程相當於jdbc程式設計中對結果的解析處理過程。

《深入理解mybatis原理》 MyBatis的架構設計以及例項分析:http://blog.csdn.net/luanlouis/article/details/40422941


相關推薦

總結淺析Mybatis架構

1、  mybatis配置 SqlMapConfig.xml,此檔案作為mybatis的全域性配置檔案,配置了mybatis的執行環境等資訊。 mapper.xml檔案即sql對映檔案,檔案中配置了操作資料庫的sql語句。此檔案需要在SqlMapConfig.xml中載入。 2、  通過mybatis環境等

MyBatis總結快速入門

version rac 文件 ctype group esp args select ransac 簡介 MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。My

Mybatis總結resultType ,resultMap

一 resultType 如果返回的只是物件,而不是物件的list <sql id = "Base_Column"> p.id, p.name, p.age, p.gender , </sql> <select i

《大型網站技術架構》讀書筆記大型網站架構演化

硬件 解決方案 更新 獨立 流量 操作 大型網站技術架構 負責 思維導圖 一、大型網站系統特點   (1)高並發、大流量:PV量巨大   (2)高可用:7*24小時不間斷服務   (3)海量數據:文件數目分分鐘xxTB   (4)用戶分布廣泛,網絡情況復雜:網絡運營

Angular總結環境搭建

ets jquery lar 文件 command baidu gitignore 執行 jet 工欲善其事必先利其器,開發 Angular 項目首先要搭建環境。Angular 的環境搭建包括三個方面,開發環境 WebStorm,命令行工具 Angular CLI,以及 n

spring cloud()微服務架構開篇

java spring cloud 微服務 在公司使用spring cloud快一年了,項目也上線了,同時在線用戶到達有幾十萬,公司之前用的是傳統項目部署,業務放在一起,導致系統龐大,難以維護;采用spring cloud之後,一個業務對應一個獨立的模塊,也就是我們所說的微服務,開發人員維

.NET Core 實踐微服務架構的優點(轉)

微服務現在已經是各種網際網路應用首選的雲架構元件,無論是 BAT 還是 滴滴、美團 ,微服務都是重要的一環。 相對於微服務,傳統應用架構有以下缺點: 1. 業務程式碼混雜,團隊成員職責邊界不清,團隊協作體驗不佳,開發效率低下。 傳統應用架構中,各個業務模組程式碼都存在於同一個應用當中,各個業務模組之間互

js檔案操作總結圖片篇

本篇主要涉及到: 檔案上傳 圖片編輯 圖片檔案下載 一、檔案上傳 檔案上傳目前瞭解的主要有三種方式: type="file"的input輸入框 drop拖放事件; 另有"ctrl+V"進行貼上,但是此方法使用有侷限性,如:不支援windows系統檔案的

Java IO流學習總結輸入輸出流

Java流類圖結構:   流的概念和作用 流是一組有順序的,有起點和終點的位元組集合,是對資料傳輸的總稱或抽象。即資料在兩裝置間的傳輸稱為流,流的本質是資料傳輸,根據資料傳輸特性將流抽象為各種類,方便更直觀的進行資料操作。 IO流的分類 根據處理資料型別的不同分為:字元流和位元組

SQL總結基本查詢

    sql查詢的事情很簡單,但是常常因為簡單的事情而出錯。遇到一些比較複雜的查詢我們更是忘記了sql查詢的基本語法。本文希望通過簡單的總結,把常用的查詢方法予以總結,希望能夠明確在心。 場景:學生資訊系統,包括學生資訊、教師資訊、專業資訊和選課資訊。 --學生資

總結Oracle 資料庫命令總結

一、日誌管理 1.強制日誌切換(forcing log switches) alter system switch logfile; 2.強制執行檢查點(forcing checkpoints) alter system checkpoint; 3.增加一個重做日誌組 (adding

Unity 編輯器擴充套件總結 編輯器開發入門

編輯器擴充套件總結 工欲善其事必先利其器 引言: 在專案開發中,編輯器擴充套件為開發者提供了開發自定義工具的功能,讓開發者更加便利地使用編輯器開發專案。近期小生一直在學習編輯器擴充套件的知識,發現網路上關於編輯器知識點的部落格較為零散且混亂。當然,有一些大佬已經總結的很

小程式開發總結mpvue框架及與小程式原生的混搭開發

mpvue-native:小程式原生和mpvue程式碼共存 問題描述 mpvue和wepy等框架是在小程式出來一段時間之後才開始有的,所以會出現的問題有:需要相容已有的老專案,有些場景對小程式的相容要求特別高的時候需要用原生的方式開發 解決思路 mpvue的入口檔案匯入舊版路由配置檔案 公共樣式 字型圖示遷

HADOOP學習筆記總結HDFS

一、Hadoop的來源 二、hadoop的子專案 三、Hadoop的安裝與版本 Hadoop 的有三條線並行演化,各個版本的功能是不一樣的。所以2.7並不一定比0.23的要新。 比如說,0.23這個版本增加了使用者認證的功能,但其他的版本確沒有此功能。

總結資料結構-緒論

一、初識資料結構          資料機構是一門研究非數值計算的程式設計問題中計算機的操作物件已經它們之間的關係和操作等的學科。          描述非數值計算問題的數學模型不在是數學方程,而是諸如表、樹和圖之類的資料結構。例如:表:圖書管理系統,一本書可有書名、作者

android系統架構特點概述

v  基於linux作業系統,因此藉助LINUX作業系統對豐富硬體的支援,並且開源、成熟、效能穩定,並且是目前嵌入式系統的主流作業系統,具有大量的使用者和開發人員,因此ANDROID底層作業系統使用LINUX作業系統實在是一個明智之舉,即可以滿足廠商對別人程式碼開放及支援豐富

架構系列大型專案架構演進過程

作為一名程式設計師,單單隻會Coding是遠遠不夠的,想要走的更高更完,還必需懂Coding之外的其他東西,如架構設計,系統分析等,今天就架構這塊,談談自己的理解 一、單機時代 單機時間的應用,都很簡單,一個應用,一臺伺服器,就搞定了,大至的架構設計如下圖

java基礎知識總結

  四種內部類 直接丟擲異常 單例模式: 懶漢式單例、餓漢式單例、登記式單例     []關於內部類:  []關於異常: 直接捕捉並丟擲異常:不需要給異常新增名字; if(i>10)

$.ajax使用總結()Form提交與Payload提交

後端處理前端提交的資料時,既可以使用Form解析,也可以使用JSON解析Payload字串。 Form解析可以直接從Request物件中獲取請求引數,這樣物件轉換與處理相對容易,但在大片JSON資料需要提交時,可能會出現大量的資料拆分與處理工作,另外針對集合型

MySql分割槽學習總結分割槽概述

MySql分割槽學習總結一:分割槽概述 通過看書和查資料對mysql的分割槽進行了簡單瞭解。稱還有映像記錄一下,以便將來使用時回顧。 分割槽簡述 什麼是分割槽? MySql從5.1以後開始支援分割槽功能。分割槽就是根據一定的規則,將資料庫中的表分為多個更小的部分。但在邏輯上,還是