溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis詳細執(zhí)行流程的介紹

發(fā)布時間:2021-04-09 14:07:21 來源:億速云 閱讀:293 作者:啵贊 欄目:開發(fā)技術

本篇內容介紹了“MyBatis詳細執(zhí)行流程的介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Mybatis簡介

MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

mybatis詳細執(zhí)行流程

MyBatis詳細執(zhí)行流程的介紹

一、通過Resource去加載全局配置文件

MyBatis詳細執(zhí)行流程的介紹

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class MyBatisUtils {
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession();
    }

}

二、實例化sqlSessionFactoryBuilder構造器

MyBatis詳細執(zhí)行流程的介紹

三、通過build中XmlConfigBuilder類去解析文件流以及環(huán)境和屬性

MyBatis詳細執(zhí)行流程的介紹

四、 將配置信息存放到Configuration中

MyBatis詳細執(zhí)行流程的介紹

五、然后實例化SqlSessionFactory實現類DefaultSqlSessionFactory此時進入底層實現流程

六、由TransactionFactory 創(chuàng)建一個Transaction事務對象

MyBatis詳細執(zhí)行流程的介紹

七、創(chuàng)建執(zhí)行器Excutor,去執(zhí)行mapper

MyBatis詳細執(zhí)行流程的介紹

八、 創(chuàng)建SqlSession接口實現類DefaultSqlSession

SqlSession sqlSession = MybatisUtils.getSqlSession()
UserMapper mapper = sqlSession.getMapper(UserMapper.class);

九、 實現CURD

MyBatis詳細執(zhí)行流程的介紹

十、判斷是否執(zhí)行成功,若沒有則回滾到事務提交器

十一、 事務提交

 sqlSession.commit();

十二、 關閉

 sqlSession.close();

后序

努力去看源碼,加以理解分析

并且熟練使用DeBug模式來調試程序,以及查看代碼底層是如何實現的。

“MyBatis詳細執(zhí)行流程的介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI