Mybatis特点和核心组件简述

文章目录

  • 一:Mybatis特点
  • 二:Mybatis核心组件
  • 三:组件的生命周期

一: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
    Mybatis特点和核心组件简述_第1张图片

你可能感兴趣的:(Mybatis特点和核心组件简述)