当前位置: 首页 > news >正文

奉贤区专业建网站万能搜索引擎

奉贤区专业建网站,万能搜索引擎,网站建设公司是怎么找客户,邢台网站建设平台文章目录第一行:第二行:代码中的两行代码是如何执行的?UserMapper userMapper sqlSession.getMapper(UserMapper.class); userMapper.selectById(userId);第一行: 获取 Mapper 接口的代理对象,调用链如下: SqlSession.getMappe…

文章目录

    • 第一行:
    • 第二行:

代码中的两行代码是如何执行的?

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.selectById(userId);

第一行:

获取 Mapper 接口的代理对象,调用链如下:

SqlSession.getMapper()Configuration.getMapper()MapperRegistry.getMapper() // 使用map做了缓存,若没有则继续向下MapperProxyFactory.newInstance() // 使用 JDK 动态代理生成 Mapper 接口的代理对象。即返回的是一个动态生成代理类对象。具体的代理过程此处不详细介绍,在后文。

第二行:

执行SQL:动态代理拦截方法调用。
userMapper.selectById(userId); 上述得知userMapper对象是代理类对象,此处调用的selectById方法就是代理类中实现的接口方法(当然不是具体的实现内容,具体的实现内容在InvocationHandler与JDK动态代理相关)参考JDK动态代理

// 例如:执行userMapper.selectUserById(1);
MapperProxy.invoke() // MapperProxy 就是InvocationHandler的实现,即具体实现内容在此。在调用链中还涉及到二级缓存的事情,后续说明MapperMethod.execute() // MapperMethod 将方法调用转为SqlSession的操作,如selectOne/insert等SqlSession.selectOne()Executor.query() // 有多种执行器,后续详细说明MappedStatement.getBoundSql()query() // 此处涉及到一级缓存的事情,后续说明;如果没有命中一级缓存,则查询数据库Executor.prepareStatement() // 此处涉及到TypeHandler,将对应的java数据转化为sql类型的数据StatementHandler.query()PreparedStatement.execute() // 执行sqlResultHandler.handleResultSets() // 此处涉及到TypeHandler,将结果集转化为java类型的数据
ClientSqlSessionMapperProxyMapperMethodExecutorJDBCgetMapper(UserMapper.class)创建动态代理userMapper.selectUserById(1)解析方法调用selectOne("selectUserById", 1)query()执行 SQL返回 ResultSet转换为 User 对象返回结果ClientSqlSessionMapperProxyMapperMethodExecutorJDBC

相关内容:
JDK代理
Mybatis加载Mapper
MapperRegistry
MyBatis中JDK动态代理
Mybatis之MapperProxy
Mybatis之MapperMethod
Mybatis之Executor执行器
Mybatis之StatementHandler
Mybatis之KeyGenerator

http://www.dtcms.com/a/472896.html

相关文章:

  • 网站建设与维护难不难公司注册名称怎么起
  • 企业网站建设设计检测网站是否正常
  • wordpress网站怎样咨询管理
  • 六安人论坛seo网站诊断流程
  • 网站备案营业执照唐山网站建设技术外包
  • 网站建设的优势西安网站网站建设
  • 定制制作网站公司soho建设外贸网站
  • 做网站开发 用什么网站建设如何上传文件
  • 永嘉县住房和城乡规划建设局网站网站建设百度文库
  • 做设计的需要网站下载素材吗一站式服务就像一个什么
  • 手机网站申请网页制作软件绿色版
  • aspcms是网站什么漏洞一般网站图标是用什么做的
  • 网站页面排版wordpress中文别名分类目录
  • 青岛注册公司网站wordpress首页添加模块
  • 对网站建设公司说上海建筑设计公司平台
  • 假视频网站源码出售无锡 网站建设
  • 东莞防疫最新公告广州seo培训
  • 微信公众号配置 网站建设南沙seo培训
  • 用软件建网站网站微信认证费用多少钱
  • 做折扣的网站版纳网站建设
  • 如何做能切换语言的网站软件设计师通过率
  • 适配网站建设模版江门网站制作方案
  • 怎样加盟网站建设汉阳网站推广
  • 网站推广公司兴田德润网络服务商机构域名
  • 户外运动网站建设策划江宁区建设局网站
  • 门户网站建设的请示焦作市建设工程网站
  • 建服务网站需要多少钱企业网站建设如何去规划
  • 全国最大的网站建设公司wordpress 5.2设置中文版
  • 做购物网站需要接口吗论坛网站建设多少钱
  • 厦门数字引擎 怎么打不开网站投资公司的钱从哪里来