自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 从阻塞来聊聊mysql的 排他锁 共享锁 mvcc乐观锁;间隙锁;

读取一致性:当一个事务执行读取操作时,它会根据自己的事务 ID 和数据行的版本信息来决定哪些版本的数据是可以看到的。写入操作:当一个事务执行写入操作时,MVCC 会在数据行旁边创建一个新的版本,而不是直接修改现有的行数据。这也意味着写入操作通常也不需要加锁。共享锁(Shared Lock, S-Lock):多个事务可以同时获得共享锁,但如果有事务想要获取排他锁,则所有持有共享锁的事务都将被阻塞。阻塞:当一个事务使用 FOR UPDATE 获取锁时,其他想要修改相同数据的事务会被阻塞,直到第一个事务释放锁。

2024-08-08 21:25:21 660 1

原创 Mysql80主从复制搭建;遇到问题 Slave_IO_Running: Connecting和Slave_SQL_Running以及解决过程

1.配置一个提供复制的账号;创建用户2.找一个从库配置复制源MASTER_HOST='192.168.56.1', -- 主库的IP地址MASTER_USER='replication', -- 复制用户MASTER_PASSWORD='1942951600', -- 复制用户的密码MASTER_LOG_FILE='mysql-bin.000001', -- 从主库SHOW MASTER STATUS得到的文件名-- 从主库SHOW MASTER STATUS得到的位置。

2024-08-05 22:23:26 880

原创 分布式带来的缺陷以及引入的相关技术!有没有必要引用分布式!

本篇文章主要是自己的一些理解和一些世纪使用过程中的思考。主要就是说明一下springcloud是什么以及分布式系统中遇到的一些麻烦和如何解决。究竟有没有必要来实现分布式系统。

2024-05-18 16:52:53 885 1

原创 SpringBoot中使用RocketMQ实现事务消息来保证分布式事务的一致性(有代码)

分布式事务是分布式系统中非常常见的问题。是非常必要钱常见的。实现的方式也是多种多样。今天这个视频主要来分享一下RocketMQ实现事务消息来保证分布式事务的一致性。不知道大家使用过这种方式没有。这种分布式事务的原理其实和本地消息表一样。

2024-05-09 21:33:18 1221

原创 分布式websocket IM即时通讯聊天开源项目如何启动

自己之前分享了分布式websocket的视频有同学去fork项目了,自己启动一下更方便理解项目嘛。然后把项目启动需要的东西全部梳理出来。支持群聊单聊,表情包以及发送图片。支持消息可靠,消息防重,消息有序。同时基础架构有分布式权限,分布式唯一id,分布式websockt, 分布式事务等常见的分布式技术。已经分享的文章git项目地址 【IM即时通信系统(企聊聊)】点击可跳转分布式websocket即时通信(IM)系统构建指南【第七期】分布式websocket即时通信(IM)系统保证消息可靠性【第八期】

2024-05-04 23:07:09 1341

原创 docker搭建redis集群三主三从

【代码】docker搭建redis集群三主三从。

2024-05-03 15:16:39 771 2

原创 王者荣耀防御塔如何开发!新手小白做游戏开发采坑经过。phaser前端游戏框架

基于浏览器技术Phaser 构建在现代 Web 技术之上,主要依赖于以下两个核心浏览器 API:Canvas API:这是一个用于在网页上绘制图形的标准 API,允许开发者使用 JavaScript 创建动态、可交互的 2D 图像。当浏览器不支持或用户选择禁用 WebGL 时,Phaser 会退回到使用 Canvas 进行渲染。WebGL API:作为一种更高级的图形接口,WebGL 允许在浏览器中直接操作 GPU(图形处理器),实现硬件加速的 2D/3D 图形渲染。

2024-04-21 18:20:15 521

原创 财务管理系统基石——维度,科目,辅助对象,业务分类【第七期】

财务管理系统有其基本的业单元。整个系统又这些基石构成,那么具体是什么呢。先了解这么四种。维度,科目,辅助对象,业务分类已经写了六期【财务管理系统】业务向 ,抵消是什么?冲销是什么?合并报表与抵消【第六期】【财务管理系统】业务向,结转是什么?总账的理解?余额表的理解以及结转涉及表结构【第五期】财务管理系统 预算和核算【第四期】财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案【程序员聊业务】财务管理系统之模块分类。

2024-04-01 14:51:44 1334

原创 【分布式websocket】表情怎么做?自制表情包和Unicode表情符号区别?表情编解码?【20期】

表情包是聊天系统中一个比较常见的功能。常见的表情表分为两种是类型。一种是Unicode表情,另外一种是图片表情。我们这篇文章两种都会涉及。图片类表情包会涉及到编解码。不会将发送消息的图片的url地址也一并存入数据库中。文章将会从表情分类。表情编解码。表情展示等方面来分享。还有就是分享一下表情包后台的数据结构。比如允许用户自己创建表情包之类的功能。目前已经写的文章有。并且有对应视频版本。关注我的B站查看视频。git项目地址 【IM即时通信系统(企聊聊)】点击可跳转。

2024-03-25 21:41:46 1657

原创 【财务管理系统】业务向 ,抵消是什么?冲销是什么?合并报表与抵消【第六期】

在财务管理系统中,"抵消"和"冲销"是两个重要的概念,它们在处理财务事项时经常被使用。虽然这两个术语在某些情况下可以互换使用,但它们在财务会计处理中有着各自的含义和应用场景。已经写了五期【财务管理系统】业务向,结转是什么?总账的理解?余额表的理解以及结转涉及表结构【第五期】财务管理系统 预算和核算【第四期】财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案【程序员聊业务】财务管理系统之模块分类。

2024-03-25 17:26:35 1415

原创 【财务管理系统】业务向,结转是什么?总账的理解?余额表的理解以及结转涉及表结构【第五期】

结转是一个重要的会计处理过程,涉及将某一会计期间的账目余额转移到下一个会计期间。结转通常发生在会计年度或月度结束时,是确保会计记录连续性和准确性的关键步骤。已经写了四期财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案【程序员聊业务】财务管理系统之模块分类。

2024-03-22 16:24:23 1158

原创 【分布式websocket】netty异步鉴权,AsyncHttpClient异步,以及为什么不能使用openfeign去调用http接口

在IM聊天系统中,鉴权是一个关键步骤,它确保了系统的安全性。鉴权的位置取决于系统的设计和鉴权逻辑的复杂性。在Netty中,鉴权可以在多个地方进行,但最常见的是在连接建立时(channelActive)和处理接收到的消息时(channelRead或channelRead0)。每种方式都有其适用场景。以及netty为什么不能使用openfeign去调用http接口目前已经写的文章有。并且有对应视频版本。git项目地址 【IM即时通信系统(企聊聊)】点击可跳转。

2024-03-20 11:16:19 1497

原创 【分布式websocket】IM系统中为什么要做心跳!Netty中如何做心跳,客户端如何做断线重连!

在IM(即时通讯)聊天系统中,"心跳"是一个非常关键且生动的概念。想象一下,就像我们人类的心脏每时每刻都在跳动以证明我们的生命活力一样,在网络世界里,"心跳机制"也扮演着维持“活跃状态”和“连接健康”的角色。当你使用qq微信时候总不能网络一不好就自动掉线吧。所以后台有一套心跳机制。即使网络波动等因素也可以继续聊天使用软件。"心跳机制"就是为了解决这个问题而存在的。简单来说,它就像是你设备向服务器发送的一个个“我在呢”、“我还在线”的信号。

2024-03-17 23:11:49 1313

原创 【分布式websocket 】前端vuex管理客户端消息crud!使用localStorage来存储【第19期】

聊天系统客户端是要存储消息的,因为所有所有的历史消息都从服务器拉的话一方面服务器压力大,另一方面也耗费用户流量。所以客户端存储消息是势在必行的。如何存储呢上一篇文章也写了,大概就是浏览器的话是localStorage或者IndexedDB。然后手机端和桌面端就是sqllite了。这样子消息的存储结构以及消息的增删改查也是需要一套的了。本篇文章将着重从自己的开源项目技术选型来进行分享。vuex进行增删改查。B站会录制视频同步分享。目前已经写的文章有。并且有对应视频版本。

2024-03-16 15:44:16 1761

原创 财务管理系统 预算和核算【第四期】

将从表结构设计,不同表作用以及预算和核算如何建立连接以及如何从业务直接转凭证等方面来分享。已经写了三期财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案【程序员聊业务】财务管理系统之模块分类。

2024-03-15 14:27:14 967

原创 财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】

已经写了两期财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案【程序员聊业务】财务管理系统之模块分类。

2024-03-14 15:34:41 2476

原创 【分布式websocket】群聊中的各种难点以及解决推拉结合【第16期】

群聊中未读消息如何设计,以及是推消息还是拉去消息如何选择是需要讨论的。推送消息是推送全量消息还是推送信号消息让客户端再去拉取。其中方案如何选型会比较纠结。首先基本的推拉结合思路是在线用户推送消息。用户离线的话上线去拉取消息。这是简单的推拉结合。问题在于群聊消息的特点有发送消息比较频繁。假设群里面有一秒钟发送了100条消息。如果推送的话一个人需要推送一百次。但是拉取的话只需要一次就可以拉取所有消息。但是通过 信号消息这样的方案使得设计非常复杂。详情看这篇文章。目前已经写的文章有。并且有对应视频版本。

2024-03-14 11:43:13 1572 19

原创 【分布式websocket】聊天系统消息加密如何做

前言先介绍一下对称加密算法,在介绍一下加密流程,然后是介绍一下查询加密消息的策略。然后结合现有技术架构然后去选型。决定采用客户端解密。简而言之就是采用对称服务端加密。然后将加密内容存储到消息表的content字段。然后客户拉取content字段 然后解密。拉取到消息解密后进行展示。客户存储的时候进行加密。目前已经写的文章有。并且有对应视频版本。git项目地址 【IM即时通信系统(企聊聊)】点击可跳转sprinboot单体项目升级成springcloud项目 【第一期】前端项目技术选型以及页面展示

2024-03-13 16:53:41 2012 3

原创 git合并代码命令 分支合并代码 cherry-pick merge rebase区别

与git merge不同,rebase通过重新应用一个分支上的更改到另一个分支的末端,来创建一个线性的提交历史。不要在公共分支上使用rebase:rebase会改变历史,这在私有分支上是安全的,但如果在公共分支上使用,可能会导致团队成员之间的混乱和问题。这会将feature-branch上的提交解除(unapply),更新feature-branch的基点到main分支的最新提交,然后重新应用之前的更改。通过使用git rebase,你可以保持项目历史的清洁和线性,但要谨慎使用,以避免潜在的问题。

2024-03-13 16:37:56 1539

原创 IM系统客户端消息存储在手机电脑浏览器分别存储在什么地方?对消息加密策略?如何保证服务端消息和客户端消息一致性【第18期】

要在浏览器中加密存储在IndexedDB中的数据,需要在将数据写入数据库之前手动加密这些数据,并在从数据库读取时解密。这通常涉及到使用Web Crypto API,这是一个在现代浏览器中可用的加密标准,提供了包括加密、解密、签名和验证等多种加密操作的能力。SQLite因其轻量级和高效性,在桌面应用中非常流行。Electron等跨平台框架:使用Electron等框架开发的跨平台桌面应用,同样倾向于使用SQLite数据库,或者利用框架提供的本地存储API,如Electron的localStorage。

2024-03-07 15:43:08 1405

原创 【分布式webscoket】未读消息如何设计?解决缓存与数据库数据一致性!推送未读消息流程【第17期】

在群聊系统中,管理未读消息的两种常见方法是:记录每个用户与每条消息之间的已读/未读状态,以及记录用户的最后一次阅读消息ID。通过上述设计,可以有效地利用缓存提高未读消息功能的性能,同时通过WebSocket实时推送,确保用户界面上的未读消息数能够即时更新,提升用户体验。如果你的系统需要精确跟踪每条消息的阅读状态,或者需要支持复杂的消息阅读状态查询,可以选择记录每个用户与每条消息之间的已读/未读状态。发送消息时:当一条消息被发送到会话中时,对会话中的每个用户(除了发送者),在缓存中对应的未读消息数加一。

2024-03-04 15:29:36 2289

原创 【分布式webscoket】IM聊天系统消息如何存储 如何分库分表以及Seata解决事务以及ShardingSphere-Scaling解决数据迁移

在实现IM(即时通讯)聊天系统时,随着用户数量和消息量的增加,数据库的压力会逐渐增大。为了保证系统的可扩展性和性能,通常需要对聊天消息进行分库分表。分表策略按时间分表优点:可以根据时间轴快速查询,旧数据归档处理也较为方便。实现:每个时间周期(如每月、每周)创建一个新表,表名包含时间标识。按用户分表优点:可以将用户的消息分散到不同的表中,减少单表数据量,提高查询效率。实现:根据用户ID的hash值分配到不同的表中,例如根据用户ID对表的数量取模来决定数据存储在哪个表。分库策略。

2024-03-04 10:36:18 2232

原创 【分布式websocket】RocketMQ发送消息保证消息最终一致性需要做哪些处理?【第15期】

发送消息的逻辑在发给mq后消息链路就直接结束了。那么消息在mq收到后我们该如何保证后面消息一定能存储呢?执行业务逻辑出错了怎么办呢?当然这期只是IM特定场景下的一致性哈,不是分布式事务哈,有点小区别?使用MQ做分布式事务后面肯定也会发文章。目前已经写的文章有。并且有对应视频版本。git项目地址 【IM即时通信系统(企聊聊)】点击可跳转sprinboot单体项目升级成springcloud项目 【第一期】前端项目技术选型以及页面展示【第二期】分布式权限 shiro + jwt + redis【第三期】

2024-03-02 12:20:41 1579

原创 【两万字面试系列】三年前的面试题。Service里面的线程安全问题

三年前,大概是21年,那会刚学完java,然后去面试,被打的一塌糊涂,今天来盘一盘之前的面试,到底是怎样的问题整住了。然后发现了去年整的线程安全东西,也贴到文章后面了。那个贴的还不太准,慢慢完善!会整完然后发B站视频。

2024-02-29 23:57:34 886

原创 财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案

因此,如果ERP系统采用微服务架构,跨服务调用频繁,且业务流程中存在大量需要保证原子性的操作,那么采用Seata等分布式事务框架可能更为合适,以确保业务操作的原子性和一致性。然而,如果ERP系统的某些模块或业务流程可以容忍短暂的数据不一致,或者业务流程可以通过异步处理和补偿机制来达到最终一致性,那么采用基于消息队列的最终一致性模型可能更加高效,尤其是在需要处理高并发请求的场景下。分表策略:在单个数据库内部,根据数据的访问模式和数据量,设计合理的分表策略,如按时间分表、按业务类型分表等。

2024-02-27 16:11:53 1943

原创 大胆,00后自学编程竟然敢分享分布式websocket即时聊天技术!

最后汇报下IM系统的进度,然后后续这个IM项目会提升哪些方面。目前项目的消息链路大体如下,缩短了之前第一版的时候比较长的ack链路。群聊的有个视频待发,关于微信为什么群聊上限500人。后续会陆续发其他相关的。后续给改进存储消息的表结构,使用分库分表。其他方面后续会发自己为什么转码,如何转码,还能不能转等。还有就是新人程序员如何快速适应职场。适应技术。

2024-02-26 17:16:25 443

原创 微信群为什么上限是500人,IM设计系统中的群聊的设计难点

微信是我们常见的应用,不知道大家有没有注意到微信群聊有人数限制,那么这个就是是不能做到还是不想做到呢。为什么是500呢?其中有什么说法吗。这期视频讲从技术的角度讲解一下群聊在技术上面的复杂性。已经写过相关IM的文章如下,B站上面有对应的视频。去B站关注我呐!目前已经写的IM的文章分布式websocket即时通信(IM)系统构建指南【第七期】分布式websocket即时通信(IM)系统保证消息可靠性【第八期】分布式websocket IM聊天系统相关问题问答【第九期】什么?websocket也有权限。

2024-02-23 23:36:56 1507

原创 【程序员聊业务】财务管理系统之模块分类

程序员一方面要精进自己的技术,另一方面也要熟悉业务。理解业务需求背后的动机和目标。更好的服务客户。避免开发过程中的误解和需求变更。这期视频主要从业务角度理解一下财务管理模块。如果是财会类专业的也可以了解下自己学的财务知识是如何应用到系统中的。参与过财务系统开发的可以互相借鉴与讨论,没有参与过的可以了解下财务管理系统。

2024-02-19 17:27:28 564 2

原创 微信发送一条消息经历哪些过程。企业微信以及钉钉的IM架构对比

微信和钉钉是经常会与到两个IM通讯软件,今天从技术角度对他们两个进行分析。这样也方便对于构建IM系统有更好的了解和认识。如果目标是想构建一个IM即时通信的app或者说想了解一下一条消息的收发会经历什么过程可以详细了解一下。我们可以想想一下微信发送一条消息会经历哪些过程。由此来思考IM系统中需要哪些东西。目前已经写的IM的文章分布式websocket即时通信(IM)系统构建指南【第七期】分布式websocket即时通信(IM)系统保证消息可靠性【第八期】

2024-02-13 21:54:55 1349

原创 IM聊天系统为什么需要做消息幂等?如何使用Redis以及Lua脚本做消息幂等【第12期】

消息收发模型第一张图是一个时序图,第二张图是一个标清楚步骤的流程图,更加清晰。消息的插入环节主要在2步。save部分。主要也是对这个部分就行消息幂等的操作。前情提要:使用Redis发布 token 以及lua脚本来共同完成消息的幂等目前已经写的文章有。并且有对应视频版本。git项目地址 【IM即时通信系统(企聊聊)】点击可跳转sprinboot单体项目升级成springcloud项目 【第一期】前端项目技术选型以及页面展示【第二期】分布式权限 shiro + jwt + redis【第三期】

2024-02-13 00:04:53 2324

原创 一些AI工具的初探和使用

目前我自己对于AI的应用还不成熟,先记录一下常用的AI工具,后续再进行探索。目前AI发展的速度已经超出想象了。可能最开始我对ai的应用 还停留在回答问题以及自己领域的可以生成cursor,还有阿里家通义灵码。都还是程序员的范畴。然后对于文字生成图片 ,文字生成视频,还有文字生成3d模型来说感觉有点不可思议。先记录一些网址,每个网址都有自己的一些缺陷或者夸大其次的地方。然后先存下来看看后续发展。感觉我目前的时间精力还是使用现成的比较好。

2024-02-12 17:27:43 603

原创 开源项目的三年,我的项目经历了哪些变化?

自己一个项目写了三年,到底写了什么东西了,这个项目经历了哪些变化呢?目前已经写的文章有。并且有对应视频版本。git项目地址 【IM即时通信系统(企聊聊)】点击可跳转sprinboot单体项目升级成springcloud项目 【第一期】前端项目技术选型以及页面展示【第二期】分布式权限 shiro + jwt + redis【第三期】给为服务添加运维模块 统一管理【第四期】微服务数据库模块【第五期】netty与mq在项目中的使用(第六期)】分布式websocket即时通信(IM)系统构建指南【第七期】

2024-02-07 18:20:56 1057

原创 分布式ID是什么,以美团Leaf为例改造融入自己项目【第十一期】

在日常开发中,主键id应用是非常广泛的,但是当涉及到分布式系统的时候,往往需要使用到分布式id,每一个服务里面一套生成规则的不易管理,容易引发冲突。我的IM聊天系统中使用分布式id来生成消息唯一键,为后面幂等做准备。后续做幂等可以采用数据库唯一主键来做,也可以使用Redis token 令牌来做,但是都是需要唯一的分布式id。以及涉及到分布分表等场景也是会使用到。这篇文章重点介绍美团Leaf 号段的使用。

2024-01-29 20:40:03 1429

原创 什么?websocket也有权限!这个应该怎么做?【第十期】

初学websocket的小伙伴可能没有注意,websocket是需要身份认证的的。可能可以使用websocket发送一些简单的消息。但是假如说没有鉴权,不就意味着所有人都以进行消息发送。那么对于一个系统来说也太不安全了,所以需要在开启连接websocket的时候进行身份验证。对应的在聊天系统中也需要思考好友的问题。比如只有好友之间才能互相发消息。不过我这个app目前的设计思路是面向公司的。默认一家公司的所有员工都是好友,可以互相进行通信。本期对应视频,可从b站查看目前已经写的文章有。并且有对应视频版本。

2024-01-22 23:09:51 1115

原创 分布式websocket IM聊天系统相关问题问答【第九期】

上期视频讲解了自己关于聊天系统的设计的时候出现了一些不一样的声音。不了解情况的可以看上上期视频。这期主要是讨论。IM聊天系统设计方案多。我的先说明一下自己的技术背景互相之间才能更好的理解。目前已经写的文章有。并且有对应视频版本。git项目地址 【IM即时通信系统(企聊聊)

2024-01-21 21:11:05 1620

原创 分布式websocket即时通信(IM)系统保证消息可靠性【第八期】

上一篇中说了一下项目的构成,比较枯燥,一些基本构造方面,这一片呢,一定会更加枯燥。这一篇讲报文协议。后端嘛,不像前端花里胡哨,就是更有内涵一点。为什么这块需要着重说呢,因为聊天系统中需要设计一套保证消息可靠的机制。否则消息都不知道发过去了没有。需要通过报文去保证这些。这些都是需要去设计的。具体设计思路如下。

2024-01-18 18:54:20 1670

原创 分布式websocket即时通信(IM)系统构建指南【第七期】

这个项目的聊天模块是由netty构建的websocket服务构建的,不满足分布式的情况。当项目需要更高并发的时候可拓展性不足。需要往分布式方向改进,这边文章主要写改写成分布式遇到了哪些困难以及目前的架构,后续会分享已经实现的功能和计划实现的功能。点个关注,后续持续分享。

2024-01-17 20:43:12 1853

原创 netty在项目中的使用以及netty的文档(第六期)

netty 要新开发一个端口。在哔哩哔哩上面有相关视频。SingleMessageHandler:处理单聊的handler。GroupMessageHandler :处理群聊的handler。GreatGroupHandler :创建群组的handler。myWebSocketHandler:接受信息的handler。RegisterHandler :处理注册的handler。四、使用apipost测试websocket。netty的端口由gateway转接。四、异常处理接口文档。TODO 还没有做。

2023-12-06 18:48:28 1416

原创 前端项目技术选型以及页面展示【第二期】

p2是数据库管理 对应 后台database模块。p3是运维管理 对应 后台devops模块。p4 是登录页面 对应 后台loginUser模块。p3 p4 是相关的聊天模块 对应的是netty的模块。一个是使用vue2管理的 分布式百宝箱 的后台。p5 是自己信息管理 对应的 业务模块。一个是使用vue3开发的一个app的前台。npm run serve 启动。p1 是首页做了首页缓存处理。p1 是登录进入的主界面。3.前台使用vue3。

2023-07-12 12:58:42 361

原创 微服务数据库模块(第五期)

如数据库名,数据库的表,表栏的数据类型与访问权限等。2.展示当前数据库所有的表结构,这块是对MySQL表的一些理解。第3.下载sql脚本 ,使用的是vecelity技术,方便快速的构建项目中锁需要的增删改查。是MySQL自带的,它提供了访问数据库 元数据 的方式。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。可以改变当下正在使用的数据库。7.不同的数据库设计到的操作数据库的框架(hibernate mybatis)(待完善)1.展示不同的数据库使用的是不同数据源的技术,

2023-06-20 22:51:03 412

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除