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

“ Mybatis Hand撸专栏”第10章:使用策略模式,调用参数处理器

时间:2023-03-06 13:38:36 网络应用技术

  作者:小福兄弟

  博客:https://bugstack.cn

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

  说到轴,它使我想起了老师在初中的说法:“你的大脑就像瓜子一样,就像一只手一样!”碎的和艰难的,所以它来到了大脑的隐喻。

  大多数轴代码不久后毕业后或刚开始工作的代码农民。毕竟,经验并不多。它也是原始的。实际上,那些经过绝对训练的人,代码的稳定性,设计经验和细致的逻辑相对好得多。当然,某些旧代码农民只是旧的,代码仍然是代码!

  因此,当招募一些年轻人需要年轻人的公司时平滑度。它不应该更多地追求。您必须喜欢所有代码,例如面包。写数百个错误,造成大量损坏和客户投诉,使老板感到非常酷?

  在上一章中,Xiao Fu带来了每个人的详细XML语句构造仪,以将XML分析所需的映射器信息解除,包括:SQL,付款,门户和键入,以及此信息,以及此信息,以及此信息,以及此信息,将其执行此信息。将其记录在参数映射处理类中。提取参数的这一部分以自动化执行SQL的参数设置,而不是像以前像我们一样固定的参数编写,如图10-1所示

  您可以在这里考虑吗?参数的处理通常是当我们使用JDBC直接操作数据库时使用的各种参数。然后在自动分析XML中的SQL拆分所有参数类型之后,应根据不同的参数执行不同类型的设置,这只是;因此,您需要在此处使用策略模式。解析SQL时,根据不同的执行策略,包装,封装包装策略,封装不同的执行策略并封装包装策略。设计如图10-2所示

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

  使用策略模式处理参数处理器之间的核心关系,如图10-3所示

  核心处理主要分为三个部分。类型处理,参数设置,参数使用;

  在这里,我们需要首先解决一个小问题。我不知道读者是否注意到我们意识到的源代码中此类参数的传输,如图10-4所示

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

  在Mybatis的源包中,有一个类型包。此软件包中提供的是一组参数处理策略。它可以通过抽象模板实现和定义处理器接口的类型,并定义了标准过程。抽象方法给出了子类实现。这些子类是每种处理器的特定实现。

  3.1详细信息的战略接口源代码:

  3.2模板模式源代码详细信息:

  3.3子类实施的源代码:有关详细信息:

  3.4类型注册机类型处理器注册机类型HandlerRegistry由我们以前的章节实现。在这里,您只需要在此类结构下注册新类型。

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

  与上一章中完成的内容相比,本章需要是一个参数,需要将其添加到SQLSourceBuilder源代码构造器中以添加参数处理器的内容。仅仅是因为它可以轻松地从“参数映射。

  然后,您需要改进参数以添加typeHandler属性信息,并在处理参数时构建参数的映射。-6

  然后与上一章结合在一起,在这里我们开始扩展类型设置。在同一时间,请注意使用Metaclass Reflection工具

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

  参数完成后,您可以在defaultsqlsession#selectone时使用参数。然后在此处进行链接关系;当可以看到参数Handler#SetParameters时,您可以根据参数看到不同处理器的循环的参数。

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

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

  1.2配置数据源

  1.3配置映射器

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

  2.1基本类型参数

  2.2对象类型参数

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