打造顶尖微服务项目!解锁四种持久化工具的酸爽奇迹!

news2024/12/28 18:43:51

前言

看到标题是不是以为我要教你微服务的什么绝技了?

很遗憾,我只是想给你们分享一下我目前经手的一个SpringCloudAlibaba微服务项目带来的酸爽体验。

今天,我姑且把持久层的酸爽感受同诸位交流一二,让诸位知晓编程领域之浩瀚广阔,帮诸位开拓一下视野。

正文

废话少说,先展示一下本项目的大体轮廓,证明我没骗你们,因为涉及到部分保密协议,所以有些地方打码了。

0.png

可以看到,里面分了很多服务,有gateway网关,我选中的四个是我本篇要分享的。

中间两个是比较核心的挂号服务和支付服务,另外两个分别是后台管理服务和一个医疗护理服务。

接下来进入正题了

1、Mybatis

我这人有个习惯,看项目首先会看后台管理,看包结构先看mapper,所以打开manager服务一看,哎呦竟然是若依框架。

那行,毕竟我以前有过了解,不过看了下版本和包结构,发现是单体的vue3前后分离版本,嵌入到微服务里面来的。

随后打开业务模块看了看,嗯,如我所料,用的是Mybatis,因为若依的这个版本依然用的原生Mybatis。

1.png

想了下,挺好,哥就喜欢用原生的,顿时心下大定。

2、tkMybatis

当我打开核心的挂号服务时,发现包名是dao,点开一个mapper发现不对,咦,tkMybatis,什么鬼,不用原生Mybatis的了?

2.png

思索了一会儿,觉得也还好,后台管理服务是若依搭建的,其他业务服务用tkMybatis好像也挺不错。

顿时心下大定。

3、MybatisPlus

当我打开支付服务时,映入眼帘的包名令我沉默了,为啥有个mybatisPlus目录,此时隐隐有了一丝不详之感。

3.png

小心翼翼点开后…………当场石化。这特么不是MybatisPlus是鬼?

4.png

想不通,真想不通,两个核心服务,一个用tkMybatis,一个用MybatisPlus,搞分裂呢?

如果你以为结束了,那就小看天下英豪了。

4、JPA

其实最后一个持久化工具的出现已经是数天后了,当我跟踪到这块业务而打开这个服务的时候心脏都忍不住抽了几下,repository目录赫然在列……九斗麻袋……

5.png

工作这么多年,这目录好熟悉啊,好像很久没用过了,忽然见到,恍如隔世。

呐,打开就是这样,击溃了我整个职业操守。

6.png

既然我帮不了神经病,只好成为神经病,错的不是我,是这个世界。

总结

一个微服务项目使用4个持久化工具,大体有如下优势:

1)、为持久层带来了可靠的灵活性和扩展性,使开发人员能够想玩哪个就玩哪个,犹如换装play一般的极致享受;

2)、为开发人员提供了不可多得的学习机遇,一个项目就把所有流行的持久层工具通通学会,这是大厂程序员整个职业生涯都见不到的实战场景。


如果觉得有趣,就点赞关注收藏下吧,以后还会分享更多程序员有意思的事情哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/916560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Zookeeper》源码分析(十八)之 ZKDatabase

目录 ZKDatabase1. 创建FileTxnSnapLog数据结构构造函数 2. 创建ZKDatabase数据结构构造函数 3. 加载日志数据SnapLog.deserialize() DataTreedeserialize() ZKDatabase 在上一篇文章中提到ZKDatabase,它是zookeeper的内存数据库,负责管理会话、DataTre…

C++信息学奥赛1839:【05NOIP提高组】谁拿了最多奖学金

这段代码是一个奖学金评选程序&#xff0c;根据学生的各项指标计算出最高奖学金金额和获得该奖学金的学生姓名。 具体解析如下&#xff1a; #include <iostream> #include <string> using namespace std;int main() {int n; // 定义整数变量n&#xff0c;用于存储…

实例042 在窗口间移动按扭

实例说明 窗体中每个可视控件都有所有者和父对象两个重要属性&#xff0c;所有者是控件建立时指定的所属对象&#xff0c;该对象可以是不可视控件&#xff0c;而父对象必须是可视控件。因此可以通过窗体中可视控件的Parent属性来判断控件是否在这个窗体中&#xff0c;还可以用…

js逆向工具-v-jstools插件自动补环境

目录 一、反爬参数如图二、知识点提前Get三、v_jstools安装四、详细分析流程方法一&#xff1a;本案例操作流程之-生成临时环境-直接可以用的情况方法二&#xff1a;本案例操作流程之-生成临时环境-不可以直接用&#xff0c;需要调试补下 五、文章与视频 一、反爬参数如图 二、…

so-vits-svc 4.1 详细使用记录

前几个月在B站听到了许多AI孙燕姿的“作品”&#xff0c;自己也很好奇是如何做到的。这不最近有了点时间&#xff0c;体验实践了一下。 其实so-vits-svc的文档写的已经比较详细了。但实际操作起来&#xff0c;因为环境的原因会遇到各种问题。本篇也是将我遇到的问题整理出来&a…

字母异位词分组——力扣49

vector<vector<string>> groupAnagrams(vector<string>& strs){unordered_map<string, vector<string>> mp;for

总结记录Keras开发构建神经网络模型的三种主流方式:序列模型、函数模型、子类模型

Keras是一个易于使用且功能强大的神经网络建模库&#xff0c;它是基于Python语言开发的。Keras提供了高级API&#xff0c;使得用户能够轻松地定义和训练神经网络模型&#xff0c;无论是用于分类、回归还是其他任务。 Keras的主要特点如下&#xff1a; 简单易用&#xff1a;Kera…

自动化脚本本地可以跑成功云服务器报错:FileNotFoundError:[Errno 2] No such file or directory

出现这种情况&#xff0c;原因之一可能是脚本中某些路径没有使用自动获取&#xff0c;当使用相对路径可能就会报错 把路径改为自动获取之后 self.data get_yaml_data(os.path.join(configs_path, method_path.yaml))再次运行代码就不会报文件找不到的错误了

如何保障Facebook账号登录稳定

当谈到保障Facebook账号的稳定性时&#xff0c;我们不得不提到那些令人头疼的情况——Facebook账号被封。尽管我们已经踏入数字化的未来&#xff0c;但是被封号似乎是一个时常困扰着社交媒体用户的问题。那么&#xff0c;让我们来看看一些常见的Facebook账号被封的原因&#xf…

【TDSQL-C Serverless 产品体验】| 实战分享 | 文末送书

目录 一. &#x1f981; 产品引入二. &#x1f981; TDSQL-C数据库使用体验——实战案例2.1 实战案例介绍2.2 实操指导1. 购买TDSQL数据库2. [配置选择](https://buy.cloud.tencent.com/cynosdb#/)3. 配置TDSQL-C 集群4. 点击授权并创建5. 记住主机名和端口6. 登录TDSQL7. 链接…

Bit Timing Configuration

注意 此功能是实验性的。在未来的版本中,实现可能会发生变化。 ISO 11898中规定的CAN协议允许针对给定应用优化比特率、采样点和采样数量。这些被称为比特定时的参数可以被调整以满足通信系统和物理通信信道的要求。 这些参数包括: tseg1: 时间段1(TSEG1)是从同步段结束到采…

24V输入防反接电路

#24V输入防反接电路 &#xff08;部分图片参考东沃电子&#xff09; 用于对输入的24V电源进行防反接及ESD保护&#xff0c;可用于EMC测试实验的电源输入保护&#xff0c;额定电流3A&#xff0c;后级电路最大损坏电压为48V。 1.24V输入防反接原理图 如上图所示&#xff0c;24V_…

华为AR路由器 典型配置案例——以太网交换

目录 Eth-Trunk 例&#xff1a;配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例&#xff1a;配置基于接口划分VLAN&#xff0c;实现同一VLAN内的互通&#xff08;同设备&#xff09; 组网需求 操作步骤 检查配置结果 配置脚本 举例&#xff…

2023年国赛 高教社杯数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…

ui设计专业学生实习报告范文

ui设计实习报告范文篇四 经过了四年的理论学习&#xff0c;使我们对平面设计有了基本掌握&#xff0c;对于平面设计这个专业也有了一个系统的学习和掌握。我们即将离开大学校园&#xff0c;作为平面设计专业的毕业生&#xff0c;心中想得更多的是如何去做好一个平面设计师、如…

操作系统-笔记-第五章-输入输出管理

目录 五、第五章——输入输出管理 1、IO设备的概念和分类 &#xff08;1&#xff09;IO设备分类——使用特性 &#xff08;2&#xff09;IO设备分类——传输速率 &#xff08;3&#xff09;IO设备分类——信息交换&#xff08;块、字符&#xff09; 2、IO控制器 &#x…

【Terraform学习】使用 Terraform 将 EC2 实例作为 Web 服务器启动(Terraform-AWS最佳实战学习)

使用 Terraform 将 EC2 实例作为 Web 服务器启动 实验步骤 前提条件 安装 Terraform&#xff1a; 地址 下载仓库代码模版 本实验代码位于 task_ec2 文件夹中。 变量文件 variables.tf 在上面的代码中&#xff0c;您将声明&#xff0c;aws_access_key&#xff0c;aws_secr…

入耳式无线耳机哪个款式好?无线蓝牙耳机音质排行榜

本着要买就认认真真的挑选一台的想法。和有线耳机相比&#xff0c;无线耳机确实有一定优势&#xff0c;比如说它的实用性明显要高不少。那么如何挑选&#xff0c;一款合适自己的耳机呢&#xff0c;首先&#xff0c;还是挑选出当前的热门款式&#xff0c;和各种网红推荐款&#…

Linux 挂载局域网内共享目录

Linux 挂载局域网内共享目录 1、安装samba服务端2、samba服务端配置3、添加samba服务访问账户4、防火墙5、重启服务6、windows访问7、linux访问 1、安装samba服务端 sudo apt-get install -y samba yum install -y samba2、samba服务端配置 vim /etc/samba/smb.conf在文档尾部…

shell 04(shell字符串变量)

一、字符串变量 字符串 (String)就是一系列字符的组合。字符串是 Shell编程中最常用的数据类型之一(除了数字和字符串&#xff0c;也没有其他类型了) 1.1 字符串格式 1.单引号方式 varabc 任何字符都会原样输出&#xff0c;在其中使用变量是无效的。 2.双引号方式,推荐 …