mybatis基础组件

Mybatis 的执行流程及核心组件如图所示


Mybatis核心组件

组件作用:

  • Configuration
    用于描述Mybatis主配置文件信息,当Mybatis应用启动时候,将Mapper配置信息、类型别名、TypeHandler等注册到Configuration组建中,其他组件需要以上信息时直接从Configuration中获取,除此之外,Configuration组件还作为Executor、StatementHandler、ResultSetHandler、ParameterHandler组件的工厂类,用于创建这些组件的实例。Configuration类中提供了这些组件的工厂方法

  • MappedStatement
    用来描述Mapper中的SQL配置信息,是对Mapper XML配置文件中<select|insert|update|delete>等标签或者@Select等注解配置信息的封装

  • SqlSession
    Mybatis 为使用者提供的API,表示和数据库交互时的会话对象,用于完成数据库增删改查功能。SqlSession 是 Executor组件的外观,目的是对外提供易于理解和使用的数据库操作接口

  • Executor
    是Mybatis 的执行器,Mybatis中对数据库所有的增删改查操作都是由它完成的

  • StatementHandler
    封装了JDBC StateMent对象的操作,比如StateMent对象设置参数,调用Statement接口提供的方法与数据库交互等等

  • ParameterHandler
    当Mybatis框架使用的Statement类型是CallableStatement 和 PreparedStatement时,ParameterHandler用于为Statement对象参数占位符设置值

  • ResultSetHandler
    封装了对JDBC中的ResultSet对象操作,当执行SQL类型为Select语句时,ResultSetHandler用于将查询结果转换成JAVA对象

  • TypeHandler
    是Mybatis中的类型处理器,用于处理Java类型与JDBC类型之间的映射。它的作用主要体现在能够根据Java类型调用PreparedStatement或CallableStatement对象应对的SetXXX()方法为Statement对象设置值,而且能够根据Java类型调用ResultSet对象调用ResultSet对象对应的getXXX()获取SQL执行结果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。