小胡的博客

  • 首页
  • 文章归档
  • 默认分类
  • 关于页面

  • 搜索

000-mybatis源码分析-整体架构

发表于 2020-04-04 | 分类于 mybaits | 0 | 阅读次数 13969

# mybatis 是什么?

mybatis是一个ORM(对象-关系映射)框架,

# 为什么需要mybatis?

传统jdbc操作繁琐,而且有很多重复代码,以前jdbc的开发步骤

  1. 注册jdbc驱动,指定数据连接信息

  2. 通过DriverManger打开数据库连接

  3. 通过连接创建Statement对象。

  4. 通过statement对象执行sql,得到Result对象。

  5. 通过resultSet读取数据,将数据转换为JavaBean对象

  6. 关闭ResultSet、Statement对象以及数据库连接。

当然用户也可以封装属于自己的ORM框架,但是就项目开发可靠性的角度看,优化考虑ORM框架。

# Mybatis整体架构

核心处理层

image

各组件介绍

组件介绍
SqlSession为Mybait是的底层API,通过此组件我们可以对数据库进行增删改查
Executor执行器,是Mybatis的核心,负责sql语句的生成、执行、结果封装。
StatementHandler封装了 JDBC 操作。
ParameterHandler负责将用户参数的参数填充为JDBC Statement所需参数
ResultSetHandler负责封装ResultSet返回的值
MappedStatement维护一条<select|update|delete|insert>标签
SqlSourcetodo
BoundSql动态生成Sql

# SqlSessionFactory

mybatis的核心就是SqlSessionFactory,SqlSessionFactory自如其名,即使SqlSession工厂,他是通过SqlSessionFactoryBuilder构建获得,而初始化SqlSessionFactoryBuilder有两种:1. xml配置加载。2. Configuration。
xml方式

  String resource = "org/mybatis/example/mybatis-config.xml";
  InputStream inputStream = Resources.getResourceAsStream(resource);
  SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  • 本文作者: 小胡
  • 本文链接: http://myblog.run/archives/mybatis源码分析-000
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
mybatis源码分析-001
002-mybatisXml解析
  • 文章目录
  • 站点概览
小胡

小胡

5 日志
5 分类
0 标签
RSS
Creative Commons
© 2026 小胡
由 Halo 强力驱动
|
主题 - NexT.Gemini v5.1.4
渝ICP备20006930号