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

做二手房网站windows7建设网站

做二手房网站,windows7建设网站,建站行业乱象完整版,wordpress加百度一下文章目录前言参考目录学习笔记1、章节目录概览2、14.3#xff1a;SqlSourceBuilder 类与 StaticSqlSource 类3、14.4.2#xff1a;ResultMapResolver 类3.1、测试代码说明3.2、结果集 userMap 解析流程3.3、结果集 getGirl 解析流程3.4、鉴别器 discriminator 解析流程4、14.… 文章目录前言参考目录学习笔记1、章节目录概览2、14.3SqlSourceBuilder 类与 StaticSqlSource 类3、14.4.2ResultMapResolver 类3.1、测试代码说明3.2、结果集 userMap 解析流程3.3、结果集 getGirl 解析流程3.4、鉴别器 discriminator 解析流程4、14.6XML 文件解析5、14.6.2配置文件解析6、14.6.3数据库操作语句解析7、14.6.4Statement 解析8、14.7注解映射的解析前言 本文内容对应的是书本第 14 章的内容主要是关于 builder 包的学习本章节的内容比较多每一小节都有相应的例子进行说明也附带了源码的注释说明因此本文只是选择了本章节一部分的内容来进行 Debug 分析说明。 参考目录 《通用源码阅读指导书MyBatis源码详解》 本文主要内容来自 第14章 builder包。《通用源码阅读指导书——MyBatis源码详解》配套示例 书中涉及的 Demo 示例本文示例在 Demo13 的基础上进行了简单改造。 与上篇一样需要说明的是书中使用的框架版本和本文本专栏使用的版本不一样。 名称书中版本专栏版本MyBatis3.5.23.5.11Spring Boot2.X3.XJDK817 随着版本的升级迭代会有一些内容不尽相同需要结合着进行学习。 学习笔记 1、章节目录概览 由于我在微信读书看书的时候电子版对于书本章节里面的小节并没有进行详细的划分有些小节的内容并没有在目录体现出来对于想要快速查找资料不太方便所以下面简单的做了整理方便后面复习时进行对照查找。 加粗的部分是下面会进行分析的内容 14.1 建造者模式14.2 建造者基类与工具类14.3 SqlSourceBuilder类与StaticSqlSource类14.4 CacheRefResolver类和ResultMapResolver类 14.4.1 CacheRefResolver类14.4.2 ResultMapResolver类 14.5 ParameterExpression类14.6 XML文件解析 14.6.1 XML文件的声明解析14.6.2 配置文件解析14.6.3 数据库操作语句解析14.6.4 Statement解析14.6.5 引用解析 14.7 注解映射的解析 14.7.1 注解映射的使用14.7.2 注解映射解析的触发14.7.3 直接注解映射的解析14.7.4 间接注解映射的解析 2、14.3SqlSourceBuilder 类与 StaticSqlSource 类 SqlSourceBuilder 类能够将 DynamicSqlSource 和 RawSqlSource 中的“{}”符号替换掉从而将它们转化为 StaticSqlSource。 #{} 其实是 xml 文件中很重要的参数占位符而 SqlSourceBuilder 的作用就是把占位符解析并转换成为 SQL下面通过一个简单的示例来 Debug 看一下这个过程。 测试的SQL select idselectById resultTypeUserSELECT * FROM user WHERE id #{id}/selectSqlSourceBuilder#parse GenericTokenParser#parse 解析完成后返回 SqlSourceBuilder#parse 方法构建 StaticSqlSource StaticSqlSource#StaticSqlSource 3、14.4.2ResultMapResolver 类 借助于 MapperBuilderAssistant 的 addResultMap 方法ResultMapResolver 完成了ResultMap 的继承关系解析最终给出一个解析完继承关系之后的ResultMap 对象。 3.1、测试代码说明 跟参考目录 Demo 中的 Demo13 类似测试代码如下 ResultMap 对象的解析由主节点到子节点依次进行下面的分析也分成三个部分分别是 userMapgetGirl 以及 discriminator。 3.2、结果集 userMap 解析流程 XMLMapperBuilder#resultMapElements XMLMapperBuilder#resultMapElement resultMap 继承关系的解析由 ResultMapResolver 类来完成。 ResultMapResolver#resolve 借助于 MapperBuilderAssistant 的 addResultMap 方法ResultMapResolver 完成了ResultMap 的继承关系解析最终给出一个解析完继承关系之后的ResultMap 对象。 MapperBuilderAssistant#addResultMap 3.3、结果集 getGirl 解析流程 XMLMapperBuilder#resultMapElements XMLMapperBuilder#resultMapElement ResultMapResolver#resolve MapperBuilderAssistant#addResultMap 3.4、鉴别器 discriminator 解析流程 XMLMapperBuilder#resultMapElement XMLMapperBuilder#processDiscriminatorElement 解析结果 4、14.6XML 文件解析 解析的语句 !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd5、14.6.2配置文件解析 先抛出结论 XMLConfigBuilder在 MyBatis的配置解析中起到了引导的作用正是从它的parse方法开始引发了配置文件和映射文件的解析。 放到代码当中实际上是创建 SqlSessionFactory 时XMLConfigBuilder 对 XML 文件进行解析。 执行方法的调用链如下 org.apache.ibatis.session.SqlSessionFactoryBuilder#build org.apache.ibatis.builder.xml.XMLConfigBuilder#parse org.apache.ibatis.builder.xml.XMLConfigBuilder#parseConfiguration org.apache.ibatis.builder.xml.XMLConfigBuilder#environmentsElement XML 配置文件 mybatis-config.xml XMLConfigBuilder#parseConfiguration XMLConfigBuilder#environmentsElement 一共三部分默认环境事务管理器 TransactionFactory数据源 DataSourceFactory。 参数 XNode context 默认环境 事务管理器 TransactionFactory XMLConfigBuilder#transactionManagerElement 数据源 DataSourceFactory XMLConfigBuilder#dataSourceElement 最终解析完成 XMLConfigBuilder#environmentsElement 6、14.6.3数据库操作语句解析 parse 方法为解析的入口方法然后调用configurationElement 方法逐层完成解析。 和配置文件解析过程类似执行方法的调用链如下 org.apache.ibatis.builder.xml.XMLConfigBuilder#parseConfiguration org.apache.ibatis.builder.xml.XMLConfigBuilder#mapperElement org.apache.ibatis.builder.xml.XMLMapperBuilder#parse org.apache.ibatis.builder.xml.XMLMapperBuilder#configurationElement 由 configurationElementparser.evalNode“/mapper”语句触发后系统会依次解析映射文件的各个节点。 XMLMapperBuilder#parse 参数 XNode context cacheRefElement缓存引用cacheElement缓存parameterMapElement参数映射resultMapElements结果映射sqlElementsqlbuildStatementFromContext从上下文构建语句 7、14.6.4Statement 解析 这里主要是承接上一小节对 buildStatementFromContext 方法进行了说明。 执行方法的调用链如下 org.apache.ibatis.builder.xml.XMLMapperBuilder#buildStatementFromContext org.apache.ibatis.builder.xml.XMLStatementBuilder#parseStatementNode XMLStatementBuilder#parseStatementNode MapperBuilderAssistant#addMappedStatement 解析完成的 statement 8、14.7注解映射的解析 这里主要是对于书中没有详细说明的 泛型桥接方法 进行简单的拓展。 关于这一方面我和 ChatGPT 来回讨论了几次然后有了以下说明 还有一些补充说明作为辅助理解 关于该方法的参数讨论 完
http://www.w-s-a.com/news/735918/

相关文章:

  • 设计品牌网站wordpress商城 中文站
  • 公司网站要备案吗百度售后电话人工服务
  • 北京移动网站建设制作一个购物网站
  • 网站优化排名如何做网络开发工程师
  • 域名已有服务器也有怎么做网站pc 手机网站 微站
  • 鞍山网站设计制作网站最好的外贸网站建设
  • 百度手机模板网站新变更营业执照注册号查了发现之前有备案过网站了
  • 群晖个人网站建设建设网站主机免费版
  • 下载好了网站模板怎么开始做网站阿克苏网站建设价格
  • 有谁做彩票网站学会了vue 能搭建一个网站平台
  • 描述对于营销型网站建设很重要飘红效果更佳教育培训排行榜前十名
  • 国外网站有哪些推荐的网站按关键词显示广告图片
  • 互联网招聘网站排名手机网站系统
  • 网站与云平台区别企业网站建设有什么要求
  • wordpress福利网站源码高端网站设计培训机构
  • 网站建设找客户招标网免费
  • 东莞食品网站建设扬州市住房建设局网站
  • 网站色彩心理建设网站的主要功能有哪些
  • 营销型网站建设运营企业宣传网页设计
  • 建设银行官方网站网址sem搜索
  • 简述建设网站的具体步骤网络建设方案ppt
  • 自建门户网站建设工程质量监理协会网站
  • 为企网站版面设计经历了哪几个阶段
  • 如何直到网站是用什么模板做的怎么在外贸公司拿订单
  • 网站专题制作酒店网站建设考虑的因素
  • 苏州招聘网站建设潍坊网站建设wfxtseo
  • 手机网站特效做互联网平台要多少钱
  • 做网站广告推广平台旅游网站后台管理系统
  • ppt模板下载免费素材网站php网站开发平台下载
  • 网站推广策划报告航空航天可以做游戏可以视频约会的网站