收藏 分享(赏)

springcloud整合Mybatis.doc

上传人:精品资料 文档编号:10621327 上传时间:2019-12-08 格式:DOC 页数:13 大小:720.04KB
下载 相关 举报
springcloud整合Mybatis.doc_第1页
第1页 / 共13页
springcloud整合Mybatis.doc_第2页
第2页 / 共13页
springcloud整合Mybatis.doc_第3页
第3页 / 共13页
springcloud整合Mybatis.doc_第4页
第4页 / 共13页
springcloud整合Mybatis.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、目 录1. 引言 41.1. 编写目的 41.1.1. 作用 41.1.2. 预期读者 41.2. 编写背景 41.3. 电子文档编写工具 41.4. 参考资料 42. 总体设计 52.1. 系统目标 52.2. 软件架构 52.3. 部署方案 53. 子系统使用 63.1. 隔离、熔断、降级 63.1.1. 原理 63.1.2. 特性引入 73.1.3. 使用方法 83.2. 监控特性 103.2.1. 原理 103.2.2. 特性引入 103.2.3. 使用方法 114. 问题及风险 124.1. 问题 12Springcloud 整合 Mybatis第一部分 背景介绍步骤1. 引言1.1

2、.编写目的1.1.1. 作用在分布式系统中,服务与服务之间依赖错综复杂,想要一次性获取所有的微服务信息就变得尤为困难,所以我们引入数据库,可以将庞杂的数据引入数据库利用 mybatis 来进行操作,管理,展示。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象) 映射成数据库中的记录。配合我们的框架 springc

3、loud,从而做到控制分布式系统中的联动信息数据管理。在远程服务不可用时自动熔断,并在远程服务恢复时自动恢复,从而提高了这个分布式系统的弹性。1.1.2. 预期读者微服务服务开发人员,测试人员,运维人员1.2. 编写背景为了指导本公司微服务的开发人员更好的运用 Spring Cloud 整合 Mybatis,特编写该文档。需要注意的是该文档只是对整合简要介绍,更重要的是指导开发人员在开发微服务时更好的利用该特性,并不是详细说明文档。1.3. 电子文档编写工具Microsoft Word 2010 for Windows 2000Microsoft Visio 2010 for Windows

4、20001.4. 参考资料Mybatis 官方网站Spring Cloud 官方网站CSDN 等技术网站Mysql 官网2. 总体设计2.1.系统目标整合 springcloud 和 mybatis 在 consul 和 Eureka 两端都做整合达到提供数据提取管理的微服务。2.2.软件架构由于我们是用双服务发现 服务端 Consul 和客户端的 Eureka 所以需要将 mybatis 整合到两个上面2.3.部署方案该特性相当于微服务接口功能的扩展,需要在每个微服务接口中进行使用,所以需要跟随微服务进行统一部署。运维人员可以利用之前搭建好的 Hystrix 提供的监控平台对微服务调用情况进

5、行监控。这里有两种部署情况: 单点部署3. 问题及风险3.1.问题1. 只验证了数据拿取,真正的其他微服务接入还未尝试(注意 mybatis 中的各个层的应用名字规范)2.关于数据库的配置 驱动 url 之类的 只能配置在本地有 mysql 依赖的地方 不能配置到远程配置中心3.首先是在 consul 里 mysql 依赖用 5.1.41 版本Mybatis 首次验证用 1.1.1 版本 验证失败 报错:“日志版本不兼容”后修改为1.2.4org.mybatis.spring.bootmybatis-spring-boot-starterRELEASE验证 成功 Mybatis 分层 Cont

6、roller Dao Service Model Mapper 要严格分层 然后是在 Eureka 里整合 mybatisEureka 里要求更严格 spring-boot 整合 mybatis 的版本依赖和 spring-boot-starter 依赖是对应兼容的 详细的表 请参照官网 http:/ spring-boot-starter 用的是 1.4.5(Cm.SR7 默认)查询得知 mybatis-spring-boot 依赖应该是用 1.2.1 版本要注意以上第 2 部分 具体搭建步骤1.整合 mybatis 并入数据库 mysql1.1 依赖引入首先在父级项目下创建添加子项目 Eu

7、reka-mybatis然后引入 mybatis 和 mysql 需要的依赖 要注意 mybaits 的依赖版本和 SR7 默认下载的 springboot 版本有很严格的兼容性 所以我们可以根据默认的 springboot 依赖版本去官网查 得知我们需要配置 mybatis 的对应版本是 1.2.1以上就是 mybatis 部分的依赖 然后是 mysql 的 这里我们需要配置的版本是 5.1.41两个需要的特殊依赖配置完成后 我们需要清楚概念 我们要把整合成后的微服务发布在EurekaServer 和 Consul 两个服务发现上 因此我们可以看做 provider 所以配置让他可以注册到服

8、务发现上 并且可以从远程拉取配置文件 因此我们需要在远程库中添加他的远程配置文件1.2 配置文件其中的配置如下 其实和一个普通的 provider 的配置一样 要注意服务名字然后本地配置我们只需要指向这个远程库 告知我需要这个配置文件 请给我拉取解析即可本地配置和其他微服务一样 main 下的 resources 文件夹但是注意 远程配置中心解析只认识这个名字 bootstrap1.3 启动类注解和一般的微服务一样 要注意 EnableEurekaClient 是针对 Eureka 服务发现的 而我们如果要注册到 consul 上的时候 需要换一个注解 2.类结构遵循 mybatis 模式分层

9、需要严格遵循 mybatis 的需要规定2.1 Mapper 类注意 Mapper 注解 如果你的依赖引的不对 这个注解是不会亮的 加在 Mapper 类上用来直接和数据库交接持久化数据PS:我们这里用的是直接用注解把 SQL 语句写上的方式 并非让 Mapper 层访问 xml 文件的方式然后注意每层的调用关系和顺序 来定好方法名规范特别注意 需要在 Controller 上加上映射 以统一 url3.启动调用测试3.1 启动服务Eureka 部分 先启动高可用的服务发现 EurekaServer再启动远程配置中心 ConfigServer 注意以上两个的端口与修改ConfigServer

10、端口为 9991EurekaServer 有三个高可用的端口 peer1 2 3 随便指定一个都行启动.界面如下 然后我们再启动 Mybatis 微服务发现已经成了然后我们需要用 controller 提供的服务接口来调用微服务 可以看到如图的接口 我们在 Consumer 中就可以写方法来调用他了 3.2 Consumer 调用服务在 Eureka 里的服务调用是经过负载的 所以我们用官方提供的 restTemplate 来对接口进行调用首先实例化 并且开启负载 加入 spring 容器在 service 层中释放容器中的实例 并且调用调用服务 因为服务是需要参数的 所以此处要注意携带然后我们将这次调用 同样通过一个接口在 Controller 层里放出就可以了 3.3 测试依次启动 EurekaServerConfigServerMybatis Consumer根据 consumer 端口调用 mybatis 服务如果不带参数 就会报错 携带参数之后 就可以获得 mysql 数据库中与实例对应的数据了对照数据库 发现唔错以上完成 Eureka 端的调用和整合Consul 端的整合和 Eureka 端的一样 只是调用的时候需要借助 nginx 此处不需要详细研究 待补充.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报