首页 > 其他分享 >MyBatis 原理

MyBatis 原理

时间:2024-10-12 09:45:23浏览次数:7  
标签:Mapper 映射 DAO 接口 SQL MyBatis 原理

MyBatis 原理

   概要

    MyBatis 是一个持久层框架,用于将对象与数据库中的记录进行映射。它通过 XML 或注解的方式定义 SQL 语句并将结果映射到 Java 对象。

    一、 MyBatis 原理
    1. 配置

    MyBatis 通过 SqlSessionFactory 加载配置文件(mybatis-config.xml),初始化数据库连接和映射器。

    2. SqlSession

   通过 SqlSessionFactory 创建 SqlSession,用于执行 SQL 语句和管理事务。

   3. 映射器

   映射器接口与 XML 配置或注解中的 SQL 语句相对应。调用映射器方法时,MyBatis 会查找对应的 SQL,并执行。

   4. 映射结果

   执行 SQL 后,结果被映射回 Java 对象。MyBatis 使用反射和映射规则将结果集转换为对象。

   二、DAO 层与 Mapper 类的关系

   1. DAO 层

   DAO(Data Access Object)是应用程序中负责数据持久化的部分。它提供了操作数据的接口,通常包含 CRUD 方法。

   2. Mapper 类

   Mapper 类是 MyBatis 中定义 SQL 语句的地方,通常对应 DAO 接口。Mapper 接口中的方法与 SQL 映射关系明确。

   3. DAO层和Mapper的关系

   DAO 接口通常会调用 Mapper 接口的方法,负责业务逻辑的处理,而 Mapper 则负责具体的数据库操作。通过这种分层设计,增强了代码的可维护性和可读性。

   总结:

   MyBatis 将 SQL 操作与 Java 对象映射结合在一起,DAO 层负责定义数据访问的接口,而 Mapper 类则具体实现这些接口的数据库操作。这样设计有助于分离关注点,提高代码质量。

标签:Mapper,映射,DAO,接口,SQL,MyBatis,原理
From: https://www.cnblogs.com/hld123/p/18459862

相关文章

  • 多代理强化学习综述:原理、算法与挑战
    引言多代理强化学习(Multi-AgentReinforcementLearning,MARL)是强化学习的一个重要分支,它将传统的单代理强化学习概念扩展到多代理环境中。在MARL中,多个代理通过与环境和其他代理的交互来学习最优策略,以在协作或竞争场景中最大化累积奖励。MAgent中代理之间的对抗(混合MARL示例......
  • AD9129板卡设计原理图:303-两路5.6Gsps 14bit DA FMC子卡
     一、板卡概述   FMC303可实现宽波段、双通道、14位、5.6GSPS(2.8gsps直接射频综合)DAC功能,时钟可采用内部时钟源(可选择锁定到外部参考),或外部提供的采样时钟。此外还为用户提供定制采样控制的触发器输入。FMC303在机械上和电气上符合FMC标准(ANSI/VITA 57.1)。该......
  • 【02】手把手教你0基础部署SpringCloud微服务商城教学-Mybatis篇(下)
    上期回顾:【01】手把手教你0基础部署SpringCloud微服务商城教学-Mybatis篇(上)Part1.续接上文Mybatis-plus的批处理功能接下来我们学习一下IService的批量查询,我们用以往的for循环做一个对比这是for循环部分的代码privateUserbuilderUser(inti){Useruser=new......
  • 密码学承诺之原理和应用 - Kate多项式承诺
    主页微信公众号:密码应用技术实战博客园首页:https://www.cnblogs.com/informatics/GIT地址:https://github.com/warm3snow简介多项式承诺是一种实用性比较强的密码学承诺方案,允许一个方(承诺者)向另一个方(验证者)承诺一个多项式的值,而不泄露多项式的具体形式。在零知识证明、可......
  • 计算机组成原理中的指令流水线
    这道题目考察的是计算机组成原理中的指令流水线(InstructionPipelining)的概念和计算方法。知识点:指令流水线指令流水线是一种提高CPU执行指令效率的技术。它将指令的执行过程分解为多个阶段,每个阶段完成不同的任务,并且这些阶段可以并行执行。这样可以显著减少执行一条指令所需的......
  • Nacos服务注册与发现原理
    Nacos是什么?Nacos是阿里巴巴开源的一种微服务组件,它主要用于解决分布式系统中多服务实例的动态变化问题,并提供了一种集中、统一的方式来管理配置文件。此外,Nacos还提供了可视化的界面,使得服务实例的管理和配置文件的监控变得更加直观和方便。Nacos的原理在微服务远程调用的过......
  • Nacos服务注册与发现的原理
    注册中心原理在微服务的远程调用中,包括两个角色:服务提供者:提供接口供其他微服务访问。服务消费者:调用其他微服务提供的接口。在大型的微服务项目中,微服务提供者的数量非常多,为了管理这些服务就引入了注册中心的概念。注册中心,服务提供者,服务消费者三者之间的关系如下:流程......
  • Nacos服务注册与发现的原理
    服务注册和发现1.注册中心原理在微服务远程调用的过程中,包括两个角色:●服务提供者:提供接口供其它微服务访问,比如item-service●服务消费者:调用其它微服务提供的接口,比如cart-service在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了注册中心的概念。......
  • Nacos服务注册与发现的原理和如何配置
    由于在大型为微服务项目中存在很多服务提供者,甚至相同的服务会使用不同的路径去调用,为了更好的管理并调用这些服务,我们需要使用注册中心来帮助我们管理这些服务以nacos为例,1.当使用nacos来管理服务的时候,服务启动时会将自己的注册信息,例如服务名,Ip,端口注册到注册中心中。2.调......
  • Redis原理篇 之数据结构
    Redis原理篇之数据结构文章目录Redis原理篇之数据结构1动态字符串SDS1.1SDS介绍1.2SDS扩容1.3SDS优点2IntSet2.1IntSet介绍2.2IntSet升级2.3总结3Dict3.1Dict的原理3.2Dict的扩容3.3Dict的收缩3.4Dict的rehash3.5总结4ZipList4.1ZipList原理4.2Zi......