当前位置: 首页 > 网络应用技术

“ Mybatis Hand撸专栏”第9章:完善XML语句构建器,改进静态SQL分析

时间:2023-03-08 22:09:35 网络应用技术

  作者:小福兄弟

  博客:https://bugstack.cn

  和解,分享和增长使自己和他人获得一些东西!还有什么?

  如果不是很长的降水量,积累和储量,我就必须没有办法使用更多的维度和更多观点来解释多个方面的问题。就像您和我一样。我越过了悬崖和山脉,我意识到枕头座是平坦而平坦的。Jiuxiao Huayue移动了春城。

  因此,它扩展到编程开发。简而言之,编写代码并更改错误。但是,如果您仅限于编写代码,很难欣赏许多设计思想和复杂的问题,而丁格西(Ding dingxie)就像牛一样,这些平稳的体验需要您扩展学习和对技术的深入探索,从许多出色的源框架中吸收经验。重新审议,然后重试,一再尝试,您最终会有一种启蒙感。这些积累的累积一偏都可以在面试中一个人帮助您,职责,国防,共享,报告和其他场景,从更高的角度来看,在深度技术思想和模拟设计比较中说了更多,以俯视业务场景。处理和提供长期的体系结构。

  在意识到本章之前,有关Mybatis ORM框架的大多数核心结构已逐渐反映,包括:解析,绑定,映射,交易,执行,数据源等。但是,随着更多功能的逐步改进,我们需要完善模块的实现,而不仅仅是完成功能逻辑,这有点像拆卸设计CRUD的原则以满足代码的易维护和可扩展性。我们需要处理的第一件事是XML分析的问题,在解析过程中,它可以完善在满足某些参数的集成和处理之前的粗略实施。

  关于设计原理,每个功能模块的过程应符合读取XML信息的单一责任,并且每个特定的实现必须具有DIMIT定律,以便以这种方式实现的功能可以具有良好的可扩展性通常,这种类型的代码看起来也很干净。它基于此类要求。我们需要在分析过程中给出分析过程的不同内容。总体设计如图9-2所示

  项目来源:https://github.com/fuzhengwei/small-mybatis

  XML语句分辨率构建器,核心逻辑关系,如图9-3所示

  提供单独的XML映射构建器XMLMAPPERBUILDER类以在映射器中解析和处理SQL。提供此类后,可以将该类的操作放置在XML配置构建器中,以及XMLConfigBuilder#mapperelemt。我们使用了以下代码。

  有关详细信息,请参见源代码:

  在XMLMAPPERBUILDER#解析的分析中,它主要反映在资源解析判断,映射器分析和绑定映射中;

  配置构建器,调用映射构建器,然后查看源代码以获取详细信息:

  XMLStatementBuilder语句构建主要分析XML中的语句。目前,我们首先将分析分析为案例,然后将来扩展其他分析过程。

  有关详细信息,请参见源代码:

  在XMLStatementBuilder#ParsestateMendenode语句的分析中,您可以看到这样的作品,获取默认语言驱动器并分析SQL.的操作。它处理XMLScriptBuilder中的静态SQL和动态SQL,但目前我们只是其中的一部分。在完善框架的后续部分之后,将其扩展,以避免一次过度引入过度引入。

  4.1定义接口源代码以获取详细信息:

  4.2 XML语言驱动器实现源代码以获取详细信息:

  4.3 XML脚本构建器分析仪分析源代码以获取详细信息:

  4.4 SQL源代码构建器源代码有关详细信息:

  由于上述设计和实施,调整了分析过程并完善了SQL的创建。然后在MappingStatement映射语句中,使用SQLSource替换了bundsQL,因此在默认设备中将进行相应的调整。

  有关详细信息,请参见源代码:

  1.1创建一个库表以创建数据库名称mybatis并在库中创建用户并添加测试数据,如下所示:

  1.2配置数据源

  1.3配置映射器

  检测结果

  原始:https://juejin.cn/post/7101145336021778462