Mybatis之Mybatis框架原理(2)

19 篇文章 1 订阅
1 篇文章 0 订阅

该系列博客是自己整理的传智播客的Mybatis学习笔记。

一、Mybatis是什么?

Mybatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到google code,并且改名为MyBatis。再后来托管到github下(http://github.com/mybatis/mybatis-3/releases)。


Mybatis让程序员将主要精力放在SQL上,通过mybatis提供的映射方式,自由灵活生成(办自动化,大部分需要程序员自己编写SQL)满足需要的SQL语句。


Mybatis可以将向preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)


二、Mybatis框架

2.1 Mybatis框架历史


2.2 Mybatis框架原理


MyBatis框架原理图


1、MyBatis配置
SqlMapConfig.xml,此文件作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,注意名称是可以修改的。
mapper.xml文件即SQL映射文件,文件中配置了操作数据库的SQL语句。此文件需要在SqlMapConfig.xml中加载。


2、通过MyBatis环境等配置信息构造SqlSessionFactory即会话工厂。


3、由会话工厂创建SqlSession即会话,操作数据库需要通过SqlSession进行。


4、MyBatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器,一个缓存执行器。


5、Mapped Statement也是MyBatis一个底层封装对象,它包装了MyBatis配置信息及SQL映射信息等。Mapper.xml文件中一个SQL对应一个Mapped Statement对象,SQL的id即是Mapped statement的id。


6、Mapped Statement对SQL执行输入参数进行定义,包括HashMap、基本类型、pojo、Executor通过Mapped Statement在执行SQL前将输入的java对象映射至SQL中,输入参数映射就是JDBC编程中对preparedStatement设置参数。


7、Mapped Statement对SQL执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行SQL后将结果映射至java对象中,输出结果映射过程相当于JDBC编程中对结果的解析处理过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值