欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis詳細(xì)執(zhí)行流程的全紀(jì)錄

 更新時(shí)間:2021年04月09日 11:55:12   作者:The Road of Learning 余月七  
這篇文章主要給大家介紹了關(guān)于MyBatis詳細(xì)執(zhí)行流程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Mybatis簡介

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

mybatis詳細(xì)執(zhí)行流程

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

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();
    }

}

二、實(shí)例化sqlSessionFactoryBuilder構(gòu)造器

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

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

五、然后實(shí)例化SqlSessionFactory實(shí)現(xiàn)類DefaultSqlSessionFactory此時(shí)進(jìn)入底層實(shí)現(xiàn)流程

六、由TransactionFactory 創(chuàng)建一個(gè)Transaction事務(wù)對(duì)象

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

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

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

九、 實(shí)現(xiàn)CURD

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

十一、 事務(wù)提交

 sqlSession.commit();

十二、 關(guān)閉

 sqlSession.close();

后序

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

并且熟練使用DeBug模式來調(diào)試程序,以及查看代碼底層是如何實(shí)現(xiàn)的。

總結(jié)

到此這篇關(guān)于MyBatis詳細(xì)執(zhí)行流程的文章就介紹到這了,更多相關(guān)MyBatis執(zhí)行流程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論