Mybatis特点和核心组件简述

本文深入解析Mybatis框架的特点,包括其对SQL的精准控制、强大的映射机制和动态SQL功能,以及通过Mapper接口简化开发流程的优势。同时,阐述了Mybatis的核心组件如SqlSessionFactory、SqlSession和SqlMapper的工作原理与生命周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:Mybatis特点

在此总结为三条

  • 不屏蔽sql,能够精准定位到sql,对其进行改造,从而提高性能
  • 提供强大灵活的映射机制,提供了动态sql的功能,能狗根据不同条件组装sql
  • Mybatis中提供了Mapper的接口编程,只需要接口和一个XML就能创建映射器,简化了我们的工作

二:Mybatis核心组件

分成四个部分

  • SqlSessionFactoryBuilder :使用创建者模式分步生成SqlSessionFactory
  • SqlSessionFactory : 工厂接口,可使用XML和代码的方式生成SqlSessionFactory,而此接口可以使用工厂模式来生成sqlSession
  • SqlSession : 会话,它的作用类似于JDBC中的一个connection对象,代表着一个连接资源的启用,具体作用如下
  1. 获取mapper接口
  2. 发送SQL给数据库
  3. 控制数据库事务
  • SqlMappe(映射器) : Mybatis新设计存在的组件,由一个接口和对应的XML文件或注解构成,主要作用就是将查询到的结果映射成一个POJO或者将POJO的数据插的数据库中,并定义一些关于缓存的重要内容,它可以配置以下内容
  1. 描述映射规则
  2. 提供 SQL语句,并可以配置SQL参数类型,返回类型,缓存刷新等信息。
  3. 配置缓存
  4. 提供动态SQL
    在这里插入图片描述

三:组件的生命周期

  • SqlSessionFatoryBuilder : 创建SqlSessionFactory完成后就失去作用,就可以不再存在
  • 可以将SqlSessionFactory看作是连接池,那么SqlSession就可以看是一个Connection对象,存在于一个业务请求中,而连接池的资源有限,在请求完成后就应当释放将资源归还给SqlSessionFactory
  • Mapper由SqlSession创建,所以它的生命周期应该不大于SqlSession
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值