前言
上一篇文章简单介绍了Mybatis的组成架构,现在就对其中各个组件的作用进一步介绍,让大家对Mybatis有更深入的了解。
核心组件
1、SqlSession: 表示与数据库交互的会话,完成对数据库的CURD功能。
2、Executor: MyBatis执行器,调度核心,负责Mybatis的SQL语句生成和查询缓存的维护。
3、StatementHandler: 封装了JDBC statement操作,负责对JDBC statement操作,如设置参数,将结果映射成集合。
4、ParameterHandler: 负责将用户传递的参数转换成JDBC statement所需的参数。
5、TypeHandler: 负责将Java类型和JDBC类型之间的映射和转换。
6、MappedStatement: MappedStatement对象对应Mapper.xml配置文件中的一个select/update/insert/delete节点,描述的就是一条SQL语句。
7、SqlSource: 负责根据用户传递的parametreObject动态生成SQL,将信息封装到BoundSQL对象并返回。
8、BoundSql: 标识动态生成的SQL语句以及相应的参数信息。
9、Configuration: Mybatis中所有的配置信息都存储在此处。
Mybatis组件间的交流
具体步骤描述
1、读取配置文件: 其中包括数据库连接的相关信息
2、通过读取的信息,创建SqlSessionFactory,它的生命周期是程序级的,程序运行时创建,项目结束时消亡。
3、使用SqlSessionFactory创建SqlSession,用于执行SQL语句,它时过程级的,方法执行建立,方法完成则关闭。
4、调用Mybatis的statementHandler提供的API执行相应的SQL语句。
5、将执行完的SQL语句的存放在Map中
6、执行SQL语句,将结果返回
写在最后
本篇文章就Mybatis架构组件中如何进行相互合作进行了一个简单的介绍,后续文章会深入介绍其中的细节。经验就是一个积累的过程,没有谁能够一步登天,所以脚踏实地才是成功的秘诀。