作者:禅与计算机程序设计艺术
1.简介
1.1 Mybatis 是什么?Mybatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。Mybatis 避免了几乎所有的 JDBC 代码以及参数处理,非常适合开发人员编写灵活可移植性强的代码,屏蔽了数据库底层实现的差异性。Mybatis 可以直接作用在 XML 配置文件中,将复杂的JDBC操作抽象出来,使数据库相关操作对应用层来说是透明的,并可以定制化地调整性能。
1.2 Apache Dubbo 是什么?Apache Dubbo(以下简称Dubbo)是一个高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:服务发现、负载均衡、远程调用,通过 Dubbo 的组合方式可以很方便地实现微服务应用。Dubbo 使用 Spring 框架构建,是一个基于 Java 的全栈开源框架。
1.3 MyBatis + Dubbo 的集成方案有哪些?目前主要有三种集成方案:
(1)直接调用 RPC 服务接口:这种方法简单直接,只需在配置文件中指定好服务接口地址,然后由 Dubbo 提供的客户端代理类直接调用 RPC 服务接口。
(2)使用 XML 描述符配置调用链路:这种方法通过 xml 文件定义整个调用链路,包括服务端、客户端和中间件,然后让 MyBatis 根据 xml 文件生成相应的动态代理类,从而实现自动化调用。
(3)使用注解配置调用链路:这种方法不需要编写 XML 文件,只需要在源码中标注 Dubbo 的调用注解,然后由 AOP 切面拦截器根据注解生成相应的动态代理类,从而实现自动化调