1. 程式人生 > >MyBatis的註解和執行原理

MyBatis的註解和執行原理

Mybatis的註解:

註解和xml配置檔案可以混合使用

MyBatis 的執行原理

MyBatis執行開始時需要先通過Resources載入全域性配置檔案.

下面需要例項化SqlSessionFactoryBuilder構建器.幫助SqlSessionFactory介面實現類DefaultSqlSessionFactory.

在例項化DefaultSqlSessionFactory之前需要先建立XmlConfigBuilder解析全域性配置檔案流,並把解析結果存放在Configuration.

之後把Configuratin傳遞給DefaultSqlSessionFactory.到此SqlSessionFactory

工廠建立成功.

SqlSessionFactory工廠建立SqlSession.

每次建立SqlSession,都需要由TransactionFactory建立Transaction物件,同時還需要建立SqlSession的執行器Executor,

最後例項化DefaultSqlSession,傳遞給SqlSession介面.

根據專案需求使用SqlSession介面中的API完成具體的事務操作.

如果事務執行失敗,需要進行rollback回滾事務.

如果事務執行成功提交給資料庫.關閉SqlSession

                           

簡化:

   第一步:
 獲取XML檔案流物件(Resources)
   第二步:
   建立一個帶有Configuration物件的DefaultSqlSessionFactory物件
  此物件用來例項化SqlSession的物件。
   第三步:
        由DefaultSqlSessionFactory建立SqlSession帶有Configuration物件,執行器物件(Executor(Transaction)

小知識:

                               mybatis.xml中直接使用package,進行包的全掃描。用的最多。

                               resource="StudentMapper.xml"    ,   class="StudentMapper"

                                                 

木子璇總結時刻:歡迎小夥伴們提出建議哦,如有錯誤,望大神指出哦,謝謝啦。

相關推薦

MyBatis註解執行原理

Mybatis的註解:註解和xml配置檔案可以混合使用MyBatis 的執行原理在MyBatis執行開始時需要先通過Resources載入全域性配置檔案.下面需要例項化SqlSessionFactory

MyBatis的解析執行原理

MyBatis的執行可分為兩大部分,第一部分是讀取配置檔案快取到Configuration物件,用來建立SqlSessionFactory,第二部分是SqlSession的執行過程。 先匯入原始碼,不然你不知道方法之間是怎麼呼叫。 一構建SqlSessionFactory

MyBatis的初始化,別名,事務,外掛,快取執行原理總結

MyBatis的初始化的過程其實就是解析配置檔案和初始化Configuration的過程。 1.MyBatis的通用執行流程 參照GOF提出的23種設計模式,可以看出MyBatis的執行流程算是種通用的模板模式,其實現過程也簡單: 首先通過相關的資原始檔配置的載入得到對應的

MyBatis的解析執行原理---學習筆記(三)

官方文件執行分兩大部分1.讀取配置檔案,快取到Configuration物件中,用來建立SqlSessionFactory2.SqlSession執行過程動態代理:JDK反射機制和CGLIB代理。用於為Mapper產生代理類,執行相關方法。反射呼叫的最大好處是配置性大大提高,

ASP.NET MVC下的異步Action的定義執行原理

urn des {0} 不同 exce .class 遠程 是否 了解 Visual Studio提供的Controller創建向導默認為我們創建一個繼承自抽象類Controller的Controller類型,這樣的Controller只能定義同步Action方法。如果我們

mybatis 註解xml 優缺點

麻煩 好用 標記 tis 報錯 成功 知識 關鍵字 註入 xml: 增加了xml文件,修改麻煩,條件不確定(ifelse判斷),容易出錯,特殊轉義字符比如大於小於 註釋:   復雜sql不好用,搜集sql不方便,管理不方便,修改需重新編譯 #和$區別: 相同   都是對

理解Web應用程式的程式碼結構執行原理(3)

1、理解Web應用程式的執行原理和機制        Web應用程式是基於瀏覽器/伺服器模式(也稱B/S架構)的應用程式,它開發完成後,需要部署到Web伺服器上才能正常執行,與使用者互動的客戶端是網頁瀏覽器。 瀏覽器負責顯示來自伺服器的資料和接受使用者的輸入資料,也

快取-redis 三種模式搭建執行原理

文章目錄 一. redis安裝 1、安裝單機版redis 2. redis 的make test出現異常解決 3. redis的生產環境啟動方案 4. redis cli的使用 二. redi

springboot系列十三 mybatis 註解xml2種方式

依賴 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> &

MyBatis動態代理執行原理

前言         大家使用MyBatis都知道,不管是單獨使用還是和Spring整合,我們都是使用介面定義的方式宣告資料庫的增刪改查方法。那麼我們只宣告一個介面,MyBatis是如何幫我們來實現SQL呢,對嗎,我們的sql是定義在/resources/mapper

C#基礎篇之C# .Net框架的概念執行原理

 引言:要使用一樣東西,最起碼得對他有個最基本的瞭解,所以,熟悉一下概念和流程還是非常有必要的,下面一起來看看吧!一、微軟平臺的發展史二、.Net框架包含的東西1、名詞解釋  BCL:基類庫(Base Class Library)系統和底層提供的最基本的類庫  CLR:公共語

理解微信小程式的生命週期執行原理

  寫微信小程式,他的生命週期不能不知道,不知道小程式就會出現各種bug而無法解決。小助君公眾號帶你學習小程式的生命週期和執行原理。 小程式由兩大執行緒組成:負責介面的執行緒(view thread)和服務執行緒(appservice thread),各司其職由互相配合 小程式的生命週期借

python編譯過程執行原理

一、編譯過程概述  當我們執行Python程式碼的時候,在Python直譯器用四個過程“拆解”我們的程式碼,最終被CPU執行返回給使用者。  首先當用戶鍵入程式碼交給Python處理的時候會先進行詞法分析,例如使用者鍵入關鍵字或者當輸入關鍵字有誤時,都會被詞法分析所觸發,不正確的程式碼將不會被執行。  下一步

細談遞迴,備忘錄遞迴,動態規劃,三種演算法思想執行原理

大家都知道,數值稍大的遞迴執行時間對於開發者來說就是場災難,我們總是想方設法在優化遞迴,或者說不用遞迴,此文中從空間時間角度詳細剖析以上三種演算法的區別,以及執行原理,以斐波那契數為例, 程式語言java 此處為程式碼 package test

深入分析JVM中執行緒的建立執行原理 (future)

在JVM中除了應用執行緒,還有其他的一些執行緒用於支援JVM的執行,這些執行緒可以被劃分為以下幾類: VM Thread:負責JVM在安全點內的各種操作,這些操作(諸如自動記憶體管理、取消偏向鎖、執行緒dump、執行緒掛起等等)在執行過程中需要JVM處於這樣一個狀態——堆的內容不會被改變,這種狀態在

Android APP編譯執行原理

在本篇中,主要介紹Android平臺應用程式的執行原理,在閱讀了SDK文件中“Application Fundamentals”一篇的內容後,根據自己的理解繪製了下面的示意圖:       每個應用程式安裝後,系統便會為其分配一個獨立的儲存空間,所謂的“Securi

mybatis——註解方式執行DDL語句(create,drop,alter)

如果想執行DDL,則需要使用@Update註解。 例子: @Update("ALTER SYSTEM SWITCH LOGFILE") public void GenerateArchiveLog();

Mybatis的基本執行原理

Mybatis的執行分為兩部分,第一部分是讀取配置檔案快取到Coufiguration物件,用以建立SqlSessionFactory,第二部分是SqlSession的執行過程。 Mybatis實現的基本原理是利用:動態代理和反射機制。動態代理中用到JDK動態代理和CGLI

Java自定義註解執行時靠反射獲取註解

<span style="font-family:SimHei;font-size:18px;color:#663300;"><strong><span class="bh_code_a_Java_keywords">public</span> <span

servlet的生命週期執行原理

一、先從servlet容器說起:大家最為熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet?         先看一下tomcat的容器模型: 從上圖可以看出 Tomcat 的容器分為四個等級,真正管理Servlet 的容器是C