栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis运行原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis运行原理


总结:
1、根据配置文件(全局config.xml,sql映射 mapper.xml)解析初始化出Configuration对象
2、创建一个DefaultSqlSession对象,
他里面包含Configuration以及
Executor(根据全局配置文件中的defaultExecutorType创建出对应的Executor)

3、DefaultSqlSession.getMapper():拿到Mapper接口对应的MapperProxy(MapperProxy是代理对象,通过JDK动态代理生成);

4、MapperProxy里面有(DefaultSqlSession);

5、执行增删改查方法:
1)、调用DefaultSqlSession的增删改查(使用的是Executor的增删改查,然后Executor使用的是StatementHandler的增删改查,然后最底层其实就是基础的JDBC);
Executor如何使用StatementHandler的增删改查:
2)、会创建一个StatementHandler对象。
(同时也会创建出ParameterHandler和ResultSetHandler)
3)、调用StatementHandler预编译参数以及设置参数值;
使用ParameterHandler来给sql设置参数
4)、调用StatementHandler的增删改查方法;
5)、ResultSetHandler封装结果
注意:
四大对象(Excutor,StatementHandler,ParameterHandler,ResultSetHandler)每个创建的时候都有一个interceptorChain.pluginAll(parameterHandler);(拦截器)

转自b站评论:
mybatis运行原理:
1.通过加载mybatis全局配置文件以及mapper映射文件初始化configuration对象
和Executor对象(通过全局配置文件中的defaultExecutorType初始化);
2.创建一个defaultSqlSession对象,将configuration对象和Executor对象注入给
defaulSqlSession对象中;
3.defaulSqlSession通过getMapper()获取mapper接口的代理对象mapperProxy
(mapperProxy中包含defaultSQLSession对象)
4.执行增删改查:
1)通过defaulSqlSession中的属性Executor创建statementHandler对象;
2)创建statementHandler对象的同时也创建parameterHandler和
resultSetHandler;
3) 通过parameterHandler设置预编译参数及参数值;
4)调用statementHandler执行增删改查;
5)通过resultsetHandler封装查询结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/726662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号