本文通过源码层面深入分析MyBatis框架,揭示MyBatis的核心机制及其设计思路。掌握MyBatis的架构

作者:禅与计算机程序设计艺术

1.简介

MyBatis 是apache的一个开源项目,2006年就已经进入了它的官方维基,截止2020年9月1日,它已经成为最流行的ORM框架之一,是一个优秀的持久化框架。相比Hibernate、TopLink、MyBatis等框架,MyBatis更加简单易用,学习成本低,操作数据库也很方便。 MyBatis可以实现定制化SQL、存储过程以及高级映射,灵活方便。它支持多种关系数据库、对各种数据库操作提供统一的接口。所以说 MyBatis 是一个十分好的 ORM 框架。 在本文中,我们将会从源码角度详细地剖析 MyBatis 的底层实现机制,并尝试给出 MyBatis 中最关键的设计思想。 # 2.基本概念术语说明 1. MyBatis 中重要的四个对象:SqlSessionFactoryBuilder、SqlSessionFactory、MapperRegistry、MappedStatement 2. SqlSessionFactoryBuilder(简称 SFB):用来创建SqlSessionFactory对象的,可以加载mybatis的配置文件(即sqlMapConfig.xml)并解析生成SqlSessionFacotry 3. SqlSessionFactory:SqlSession的工厂类,用来产生SqlSession对象。一个应用对应一个SqlSessionFactory,线程不安全,所以需要外部同步访问或请求作用域内的线程来获得SqlSession对象。 4. MapperRegistry:mapper注册器,用来保存mapper接口信息。每个mapper文件对应一个MapperRegistry,该类负责管理注册的 mapper。 5. MappedStatement:SQL语句映射类,用来保存一条具体执行的SQL语句相关的信

猜你喜欢

转载自blog.csdn.net/universsky2015/article/details/132002538