Spring Boot(五):春眠不觉晓,Mybatis知多少

在JavaWeb项目开发中,我们使用最多的ORM框架可能就是Mybatis了,那么对于常用的mybatis,你究竟了解多少呢?

 

一 原理 战前磨刀

01.Mybatis是什么

MyBatis 是支持定制化 SQL存储过程以及高级映射的优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码,手动设置参数以及获取结果集

MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录

02. Mybatis如何操作数据库

支持三种操作方式

1)注解

2)语句构建器 

3)xml文件与接口映射方式

03. Mybatis的缓存机制

缓存的重要性是不言而喻的。考虑到性能,几乎所有与性能相关工具都会涉及到使用缓存, 我们可以避免频繁的与数据库进行交互, 尤其是在查询越多、缓存命中率越高的情况下, 使用缓存对性能的提高更明显。这个不在本篇细讲,到时候会专门作为一期内容呈现

04. Mybatis的执行流程

1) 加载配置 配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中

2) SQL解析 当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数

3) SQL执行 将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果

4) 结果映射 将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回

                                                                                                                                                   --摘自《Mybatis》百度百科

05. 执行流程-源码分析

mybatis的对数据库的底层操作,如Spring JDBC一样,实际上也是对JDBC的一个封装,它的底层原理依旧是JDBC。所以依然遵从JDBC的6个步骤

a 加载数据库驱动

b 建立链接

c 创建statement

d 执行SQL语句

e 处理结果集

f 关闭数据库

通过跟踪使用xml方式的查询方法源码,我们一路走下来是这样的:

1)建立连接

2)获取xml文件与接口中的对应方法

3)创建statement,并执行sql语句,返回结果集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值