首页 > 其他分享 >Mabatis⼯作原理

Mabatis⼯作原理

时间:2023-11-01 14:34:46浏览次数:29  
标签:Mabatis xml 映射 对象 语句 sql mybatis 原理

Mybatis框架在操作数据库时,大体经过了8个步骤

1. 读取mybatis配置文件mybatis-config.xml。mybatis-config.xml作为mybatis的全局配置文件,配置了mybatis的运行环境等信息,其中主要内容是获取数据库连接。

2. 加载映射文件mapper.xml,mapper.xml文件即sql的映射文件,该文件中配置了操作数据库的sql语句,需要在mybatis-config.xml中加载才能执行。mybatis-config.xml可以加载多个映射文件,每个映射文件对应数据库中的一张表。

3. 构建会话工厂。通过mybatis的环境等配置信息构建会话工厂sqlSessionFactory。

4. 创建SqlSession对象。由会话工厂创建sqlSession对象,该对象包含了执行sql的所有方法。

5. mybatis底层定义了一个Executor接口来操作数据库,它会根据sqlSession传递的参数动态的生成需要执行的sql语句,同时负责查询缓存的维护。

6. 在Executor接口的执行方法中,包含一个MapperStatement类型的参数,该参数是对映射信息的封装,用来存储要映射的sql语句的id、参数等。Mapper.xml文件中一个sql对应一个mapperStatement对象,sql的id即是mapperStatement的id。

7. 输入参数映射。在执行方法时,mapperStatement对象会对用户执行sql语句的输入参数进行定义,Executor执行器会通过mapperStatement对象在执行sql前,将输入的Java对象映射到sql语句中。

8. 输出结果映射。在数据库执行完sql语句后,mapperstatement对象会对sql执行输出的结果进行定义,Executor执行器会通过MapperStatement对象在执行sql语句后,将输出结果映射至Java对象中。

Mabatis⼯作原理_mybatis


标签:Mabatis,xml,映射,对象,语句,sql,mybatis,原理
From: https://blog.51cto.com/u_15892103/8122076

相关文章

  • armsom: AIM5已经设计完了原理图,正在进行电路布局
    在现代电子工程领域,原理图设计和电路布局是新产品开发的关键步骤之一。它们为电子设备的功能和性能奠定了基础,决定了产品的最终质量和可靠性。ArmSoM已经成功完成了AIM5的原理图设计,目前正在积极进行电路布局的工作,如下为AIM5初步布局示意图,预计11月二十号完成电路布局。 armso......
  • 固态硬盘存储原理
    机械硬盘存储机械硬盘是利用磁性极粒来存储数据的,所以机械硬盘通常又被称作磁盘存储器发展历史:https://mp.weixin.qq.com/s/lUqLnc0Nl989-jLH8jhDng固态硬盘存储固态硬盘主要由主控、缓存、闪存组成,纯电子结构,固态硬盘存储数据的基本存储单元是"浮栅晶体管",基本结构有:存储电......
  • Kafka基本原理、生产问题总结及性能优化实践 | 京东云技术团队
    Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日......
  • armsom: AIM5已经设计完了原理图,正在进行电路布局
    在现代电子工程领域,原理图设计和电路布局是新产品开发的关键步骤之一。它们为电子设备的功能和性能奠定了基础,决定了产品的最终质量和可靠性。ArmSoM已经成功完成了AIM5的原理图设计,目前正在积极进行电路布局的工作,如下为AIM5初步布局示意图,预计11月二十号完成电路布局。armsom-ai......
  • DP查缺补漏之01背包优化原理
    DP查缺补漏之01背包优化原理先复习一下基本知识状态假设DP[I][J]为前\(i\)个物品,容量小于\(j\)时的最优解(最大价值)状态转移DP[I][J]=max(DP[I-1][J],DP[I-1][J-V[I]]+W[I])对于第\(i\)个物品,两种可能装入背包则状态应通过前\(i-1\)个物品,容量小于\(j......
  • Kafka基本原理、生产问题总结及性能优化实践
    Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问......
  • trafilatura 网页解析原理分析
    trafilatura介绍Trafilatura是一个Python包和命令行工具,用于收集网络上的文本。其主要应用场景包括网络爬虫下载和网页解析等。今天我们不讨论爬虫和抓取,主要看他的数据解析是如何做的。extract初体验fromtrafilaturaimportfetch_url,extracturl='https://haokan.baid......
  • Applescript成功实现imessage数据筛选,imessage蓝号检测,无痕检测手机号是否注册imess
    一、imessages数据检测的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写苹果MacOs......
  • 逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练
    一、前言2月份的1.2亿条用户地址信息泄露再次给各大公司敲响了警钟,数据安全的重要性愈加凸显,这也更加坚定了我们推行安全测试常态化的决心。随着测试组安全测试常态化的推进,有更多的同事对逻辑漏洞产生了兴趣,本系列文章旨在揭秘逻辑漏洞的范围、原理及预防措施,逐步提升大家的安全......
  • 人体感应太阳能灯原理图详细讲解
    人体感应太阳能灯原理图详细讲解飞讯教学篇,人体感应太阳能灯是一种利用太阳能源供电,通过人体红外线感应技术实现智能控制灯源开关的照明设备。其原理是利用太阳能板将太阳能转化为电能,通过对电池的储存和管理,将电能存储在电池中,作为灯源使用时的电力供应。同时,通过人体红外线感应技......