SqISessionFactoryBuilder (构建器)
: 根据配置信息或Java代码来构建 SqlSessionFactory 对象。作用:创建SqlSessionFactory对象。SqlSessionFactory (会话工厂)
:好比是DataSource(创建连接的数据源) ,线程安全的,在应用运行期间不要重复创建多次,建议使用单例模式。作用: 创建SqlSession对象SqlSession (会话)
:好比是Connection ,线程不安全的,每次使用开启新的SqlSession对象,使用完毕正常关闭,默认使用DefaultSqlSession。提供操作数据库的增删改查方法,可以调用操作方法,也可以操作Mapper
组件。Executor (执行器)
: SqlSession本身不能直接操作数据库,需要Executor
来完成,该接口有两个实现: 缓存执行器(缺省)、基本执行器。MappedStatement
:映射语句(MappedStatement)封装 执行语句时的信息: 如SQL、输入参数、输出结果更具体的底层原理图
涉及的对象:
Configuration : MyBatis 全局配置对象,封装所有配置信息
*SqlSession:
表示和数据库交互的会话,完成必要数据库增删改查功能
*Executor:
执行器,是mybatis调度的核心,负责sql语句的生成和查询缓存的维护
StatementHandler :
语句处理器,在创建对象之前先创建参数处理器和结果集处理器。封装了JDBC的DML、DQL 操作、参数设置
ParameterHandler :
参数处理器,把用户传入参数转换为JDBC需要的参数值ResultSetHandler :
结果集处理器,把结果集中的数据封装到List集合TypeHandler :
类型转换器, Java类型和JDBC类型的相互转换
*MappedStatement :
映射语句对象,维护了一条< insert|update|delete|select>节点的封装
SqISessionFactoryBuilder
因此SqlSessionFactoryBuilder实例的最佳作用域是方法作用域(也就是局部方法变量)
SqISessionFactory
SqlSession
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43296313/article/details/120451819
内容来源于网络,如有侵权,请联系作者删除!