千家信息网

MyBatis执行流程是怎么样的

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了MyBatis执行流程是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Mybatis简介MyBatis 是一
千家信息网最后更新 2025年01月19日MyBatis执行流程是怎么样的

这篇文章主要介绍了MyBatis执行流程是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Mybatis简介

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

mybatis详细执行流程

一、通过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();    }}

二、实例化sqlSessionFactoryBuilder构造器

三、通过build中XmlConfigBuilder类去解析文件流以及环境和属性

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

五、然后实例化SqlSessionFactory实现类DefaultSqlSessionFactory此时进入底层实现流程

六、由TransactionFactory 创建一个Transaction事务对象

七、创建执行器Excutor,去执行mapper

八、 创建SqlSession接口实现类DefaultSqlSession

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

九、 实现CURD

十、判断是否执行成功,若没有则回滚到事务提交器

十一、 事务提交

 sqlSession.commit();

十二、 关闭

 sqlSession.close();

感谢你能够认真阅读完这篇文章,希望小编分享的"MyBatis执行流程是怎么样的"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

流程 篇文章 事务 配置 信息 实例 对象 接口 文件 支持 优秀 普通 高级 成功 代码 价值 全局 兴趣 参数 同时 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 狭义上的网络安全 服务器管理单元无法初始化 2020网络安全自采集报告 计算机网络技术好考建筑主项吗 逃离塔科夫服务器连接不上 高级网络技术专业就业 惠普服务器风扇声音大怎么解决 网络安全活动有哪些形式 怀旧服有职业的服务器 cago服务器断开连接 网络安全运维工程师怎么样 新乡市鑫垚网络技术有限公司 web服务器安全性论文 体表重建数据库 优炫数据库 信创 影像数据库文件错误修复会 小程序软件开发报价单 杭州融都科技软件开发价格 数据库代数表达式线性符号赋值 数据库如何选择数据库 河北新一代软件开发过程服务标准 正太网络技术有限公司 ddos服务器是什么意思 计算机网络技术好考建筑主项吗 王者各服务器有什么区别 贵州服务器电源厂家有哪些 阿里云服务器快照删除 福清京东方招聘软件开发 中学生网络安全赛事 数据库事务请求工作流程
0