MyBatis流行的原因:1、容易上手,学习门槛低;2、sql优化性能好;3、查询缓存特性强大。容易上手,学习门槛低是指,Mybatis比较简单,容易上手,并且支持原生SQL语句编写,程序员能够对SQL语句的执行性能进行直接掌控。
一、MyBatis流行的原因
1、容易上手,学习门槛低
mybatis它是一个优异的开源持久层框架,mybatis之所以很流行,是因为mybatis很容易上手,开发速度很快,学习门槛很低,想要真正掌握myabatis也很容易,程序员就可以直接编写原生的sql语句,我们可以自己控制sql语句的执行性能。mybatis使用场景是对关系数据模型要求不高的软件使用,比如电商网站软件需要要求变化频繁,如果需求变化就立马要求输出结果,这是使用mybatis就有好处了。
2、sql优化性能好
mybatis在sql优化性能方面比Hibernate高得多,Hibernate得查询回将表中的所有字段都给你查出来,这样就会影响性能的消耗,然后mybatis的sql语句程序员可以自己动手编写,可以按需求指定的字段进行查询,当然Hibernate也可以自己编写sql语句来指定查询所需要的字段,这样很显然的不合理,相当破坏了Hibernate开发的简洁性,所有mybatis越来越被大厂流行使用的原因。
3、查询缓存特性强大
mybatis在缓存机制方面有一个很强的查询缓存特性非常的强大,程序员可以非常方便的配置和定制,但是在使用过程中需要注意的是,假如你不能完全确定数据更新操作的范围,就应该避免使用Cache,不然的话可能出现系统的运行带来了一个很大的隐患,当然使用过程中注意就可以。
二、Mybatis的功能架构
1、API接口层
提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。接口是MyBatis提供给开发人员的一套API,通过SqlSession接口和Mapper接口,开发人员可以通知MyBatis框架调用哪一条SQL命令以及SQL命令关联参数。
2、数据处理层
负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
- MyBatis框架内部的核心实现,来完成对映射文件的解析与数据处理
- 对Mapper.xml中的参数进行参数解析与参数绑定——(ORM)
- 对Mapper.xml中的SQL语句解析
- 执行SQL,调用底层JDBC进行数据库从操作(即支撑层)
- 结果集映射解析与结果集映射处理
3、基础支撑层
负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。用来完成MyBatis与数据库基本连接方式以及SQL命令与配置文件对应,主要负责:
- 对 MyBatis 与 数据库连接方式 的管理
- MyBatis 对事务管理方式的统一处理
- 配置文件加载(例如延迟加载)
- MyBatis查询缓存的管理
延伸阅读1:MyBatis概念
Mybatis是一个半ORM(对象关系映射)框架,底层封装了JDBC,是程序员在开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程,使得程序员可以花更多的精力放到业务开发中。