新闻详情

新闻详情

首页 / 资讯中心 / 详情

Wisdom SSH批量命令:一次搞定服务器CPU、内存、磁盘与网络巡检

发布时间:2026/9/29 16:08:17来源:尧图网络
Wisdom SSH批量命令:一次搞定服务器CPU、内存、磁盘与网络巡检
早上七点半被电话吵醒监控平台弹了三页报警一个业务集群好几台机器CPU持续飙到90%以上其中两台负载已经高到连登录都要卡几秒。作为值班运维最怕的不是机器有问题而是手里机器太多排查全靠一台台SSH上去手动敲命令光连接就耗掉二十多分钟等把现场数据拿到手可能已经错过了最佳处理窗口。这种场景我经历过太多次后来就养成了一个习惯不管是日常巡检还是应急排查能用批量命令解决的绝不多台手动操作。今天这篇文章就围绕Wisdom SSH这个SSH远程管理工具讲一讲我是怎么用它的批量执行功能在几分钟内把几十台服务器的性能开销整体摸一遍包括CPU、内存、磁盘、网络这些核心指标怎么查、怎么判读、有什么坑。1. 为什么服务器性能检查一定要走批量命令1.1 手动巡检的三大痛点连接慢、窗口乱、记录难也许有人会说服务器性能检查不就是登录上去敲个top、敲个free吗没错单台机器确实就这么简单但一旦机器数量变成几十台、上百台这套打法的效率问题就非常扎眼。先说连接耗时。如果你的环境用的是密码登录每台机器都要走一遍输入账号、输入密码、等待认证的流程赶上网络波动或者SSH握手慢单台连接就可能要十几秒。我手上维护的服务器分布在好几套机房网络里高峰期手动登录一台机器平均耗时要15秒往上这个时间乘上机器数量光连接环节就够喝一壶的。再说窗口混乱。手动巡检的时候通常要开好几个SSH终端标签页每台机器一个窗口来回切换很容易弄混哪台机器查了、哪台没查。尤其是有两台配置接近的机器摆在一起输出内容长得几乎一样一不留神就会把A机器的数据当成B机器的记下来。这种低级失误在应急排查时尤其致命。最后是记录整理。手动敲命令时性能数据是分散在各个终端窗口里的想统计一下哪些机器磁盘使用率超过90%只能肉眼一条条看然后手动复制到表格里。机器一多这个整理过程比查本身还费劲。我在最开始带团队的时候做过一次四十台机器的巡检光整理Excel就花了快一个小时中间还漏了两台。1.2 批量执行真正解决的不只是省时间这一件事批量命令解决的不只是效率问题更重要的是它把巡检这件事从凭感觉的体力活变成了有章法的标准化操作。使用Wisdom SSH这类工具时你可以把一批目标服务器选进一个任务然后一次性发送同样的命令所有服务器的回显会集中出现在一个输出面板里每台机器的结果按主机标记区分。这样做的好处有三个。第一操作粒度从单台变成了整批。排查问题时不需要关心哪台机器连上了哪台还没连只需要把目标主机选好命令发出去然后统一看结果就行。即使是几十台机器的集群一轮批量执行下来也就一两分钟的事。第二结果的可比性大大增强。因为所有机器执行的是同一条命令输出的格式是一致的横向对比起来非常直观。比如批量执行df -h之后哪台机器的根分区使用率最高一眼就能扫出来不需要在几十个窗口之间来回切换。第三可复现性。批量执行过的命令会保留在工具的历史记录里下次再执行同样的检查直接调历史任务就行不需要重新敲一遍命令。这点对于日常巡检特别实用你不需要每次都想上次那条命令是什么来着。当然批量命令不是万能的它适合的是对多台机器执行同一个确定性操作的场景。至于那种需要跟机器交互、根据输出决定下一步命令的复杂排查还是得一台台来。搞清楚这个边界后面用起来才不容易翻车。2. 批量检查前先把服务器清单和登录方式理顺2.1 按业务分组维护主机列表批量操作才有意义一个很反直觉但真实的经验是批量执行效果好不好三分之一取决于命令本身剩下的取决于你的服务器清单理得清不清楚。我见过不少同事把几十台服务器乱七八糟地堆在工具的一个列表里连主机名都不规范有的是内网IP有的是临时起的代号。等到批量执行时输出面板里全是A01、T03、web-2这种毫无规律的名字对不上业务不说连哪台机器属于哪个集群都分不清。结果数据拿到了还是得回头一个个查主机信息批量执行省下来的时间又还回去了。我的习惯是在Wisdom SSH里把服务器按业务模块建分组每个分组一个名字比如订单中心用户中心网关集群数据库节点。分组下面添加主机时名称统一规范成业务名-角色-序号的格式比如order-web-01、order-db-02。这样批量执行的时候输出面板的标记一看就懂哪个分组、哪台机器、什么角色清清楚楚。分组还有一个实际好处批量执行的粒度可以按组来切。比如你现在怀疑用户中心的内存有问题那就不需要把所有服务器都跑一遍只选中用户中心这个分组命令发过去就行。范围越小输出越快干扰越少。2.2 免密登录、连接超时这两件事一定要提前验证用批量命令前最怕遇到的就是执行执行着突然提示某台机器SSH认证失败。一条命令被打断要么单独补查那台要么全部重来非常难受。避免这个问题最有效的做法是配置SSH密钥登录。把本地公钥添加到服务器的authorized_keys里之后批量工具连接服务器就不需要逐台输入密码。尤其是Wisdom SSH这类工具通常支持在会话配置里指定私钥文件路径你只需要在每台服务器上配好公钥工具侧选对私钥就行。密钥配好后别急着上批量先做一轮连通性测试。我的做法是新建一个临时批量任务把要纳入巡检的服务器全部选上执行一条最简单的命令比如hostname或者uptime。观察哪些机器正常返回哪些机器超时、认证失败。这一步花不了两分钟但能提前暴露掉绝大部分批量执行到一半卡住的隐患。如果确实有些机器只能用密码登录那也要提前确认密码是有效的、账户有执行命令的权限。很多运维踩过的坑是平时都是自己手动登录没问题但批量工具用的是另一个服务账户这个账户没有执行某些命令的权限比如没有装sar的路径、没有权限读/proc导致批量执行出来的结果全是不完整或者失败的白跑一趟。2.3 命令兼容性不同发行版的性能命令差异不小这个坑特别隐蔽特别容易在批量执行时集中爆发。我强调过很多次批量命令是同一条命令打向所有机器如果这些机器的操作系统版本不一样命令的兼容性就必须提前考虑。举几个实际例子。free -m这个命令CentOS 6和CentOS 7的默认输出格式就不一样老版本没有available这一列新版才有。top -bn1在CentOS 7以后能正常用但在某些精简系统上top可能没装或者输出格式有差异。ss命令在CentOS 6上默认可能没装或版本较老而netstat在CentOS 8上又不一定在。所以在选定批量检查命令之前最好先对服务器涉及的系统版本做个摸底至少要清楚这批机器是CentOS 6、CentOS 7、Ubuntu还是其他发行版。最稳妥的做法是在批量执行前先挑两台不同版本的机器各跑一遍你要用的命令确认输出格式都符合预期再全量铺开。千万别拿几十台机器的批量任务去测试命令兼容性那样出了问题只能停在原地特别被动。如果你管理的机器版本跨度真的很大那可以准备两套命令分别执行或者用一条兼容性更强的组合命令。对于初查场景uptime、cat /proc/loadavg、cat /proc/meminfo这类命令的兼容性最好因为它们依赖的是内核接口而不是某个软件包。3. 核心实战批量命令采集CPU、内存、磁盘和网络数据3.1 CPU与负载top -bn1和uptime组合起来看性能检查第一步我习惯先看CPU使用率和系统平均负载。常用的命令就两条uptime和top -bn1。uptime会输出三行信息关键在最后一段的load average: 3.58, 4.20, 4.60这三个数字分别代表过去1分钟、5分钟、15分钟的平均负载。判断负载是否过高的方法很简单用负载数除以CPU核心数如果结果大于1说明任务在排队系统已经忙不过来了。比如一台8核机器load average到了9那明显是超载状态需要看是CPU密集任务造成的还是有进程卡死拖住了整个系统。top -bn1是top命令的批处理模式-b表示非交互输出-n1表示只刷新一次。这个参数组合特别适合批量执行场景——普通模式下的top会持续刷新屏幕批处理模式下执行完就退出了输出可以直接拿到结果面板里分析。批量执行后重点看两处一是%Cpu(s): 78.3 us, 12.5 sy, 0.0 ni, 9.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st这行。us是用户态CPU占用sy是内核态占用wa是IO等待占比。如果us偏高说明有应用在大量计算如果sy偏高可能是系统调用频繁或者有内核瓶颈如果wa一直比较高则说明磁盘IO跟不上CPU在等数据。二是进程列表里排在最前面的那几个进程。top -bn1 | head -n 20能直接看到按CPU占用排序的前十来个进程批量执行后一眼就能扫出哪台机器上有哪个进程在偷吃CPU。这个信息在应急排查时非常有价值因为它直接告诉你去查什么应用。3.2 内存检查free -m别只看usedavailable才是重点内存检查其实是最容易误判的环节。很多新手看free -m只看used那一列一看used比较高就以为内存吃紧了其实不一定对。先看命令本身。在绝大多数Linux系统上free -m的输出包括这几列total、used、free、shared、buff/cache、available。关键在于理解buff/cache的含义——这部分内存被内核用作文件缓存和缓冲区但它不是被占死的当应用需要更多内存时内核会主动回收这部分缓存给应用用。所以正确的判断指标是available它代表在不触发交换的情况下估算还能分配给新进程的内存大小。如果available还比较充裕哪怕used看着高也不用太紧张。反过来如果available低于总内存的10%-15%那就真要注意了。另外还要看swap的使用情况。如果swap使用量持续增长基本说明物理内存不够用数据正在被换到磁盘上。再配合后面要讲的vmstat里的siswap in和soswap out数值如果这两个值长期不是0内存压力就比较确凿了。我的批量检查命令通常是free -m输出按主机标记排列后扫一遍available列就够了。排序靠后的那几台再单独执行一次cat /proc/meminfo去看MemAvailable的具体值定位更精细。3.3 磁盘检查df -hT和df -i空间和inode都要看磁盘检查是批量命令用得最多的场景因为磁盘满了是最常见、也最容易批量排查的问题。这里我强烈建议养成空间inode双查的习惯因为两个维度都可能让系统写不进文件。空间维度用df -hT-h表示以人类可读的大小单位显示-T显示文件系统类型。批量执行后重点看Use%那一列。这里有个小技巧df -hT | grep -vE tmpfs|overlay|shm可以先把那些不重要的临时文件系统过滤掉输出更干净。比如Docker节点上会有大量的overlay挂载点不过滤的话输出会非常长反而淹没了真正要看的根分区和数据分区。inode维度用df -i。inode是用来存储文件元数据的数据结构每个文件或目录都要占用一个inode。inode满和磁盘满的表现很相似——都是无法创建文件、服务报No space left on device但原因完全不同。inode满时磁盘空间可能还剩很多你删除文件都不一定管用因为只要还有大量小文件占着inode空间的释放也救不回来。批量执行df -i后重点看IUse%这一列。如果接近100%说明inode耗尽需要查找哪个目录堆积了大量小文件。比如某个应用的临时目录、日志目录、消息队列的spool目录都是inode耗尽的常见重灾区。如果你还要进一步看磁盘IO性能可以用iostat -x 1 3它会输出磁盘的详细IO指标包括%util磁盘忙碌百分比、await平均IO响应时间、svctmIO服务时间等。%util持续超过80%基本可以判断磁盘是瓶颈了。不过iostat依赖sysstat包部分精简系统上没装批量执行时要有心理准备没装的机器会提示command not found。3.4 网络连接与IOss -s和vmstat的现场捕捉网络层面我用的检查命令是ss。ss -s可以快速输出当前系统的socket统计信息包括TCP连接总数、各状态ESTAB、TIME-WAIT、CLOSE-WAIT等的数量。如果应用报连接数打满、端口被占满批量执行ss -s就能看出哪台机器的连接数异常。更进一步ss -tn state established | wc -l可以统计当前建立的TCP连接数批量执行后重点关注数值异常大的机器通常是有人在上量、或者连接泄漏了。vmstat 1 3是一个综合性的性能快照命令它虽然不直接属于网络维度但对判断系统整体压力很有用。vmstat 1 3表示每1秒打印一次共打印3次。重点看这几列r运行队列中的进程数如果长期超过CPU核数说明CPU过载。b阻塞进程数通常在IO等待时出现增长。si、soswap换入换出量持续非零说明内存压力大。waCPU花在等待IO上的时间占比长期偏高说明磁盘或者存储网络是短板。vmstat的输出格式在所有主流发行版上基本一致兼容性很好适合作为批量执行的兜底命令。我通常会把ss -s和vmstat 1 3合在同一个巡检命令包里一次性拿到网络和系统整体的快照数据。4. 批量执行窗口里的参数设置与输出处理4.1 并发数、执行超时不是越快越好用Wisdom SSH这类工具做批量执行时通常会有一个并发数设置也就是同一时间最多有多少台机器同时执行命令。很多人的第一反应是把并发数调到最大觉得这样最快。我的实际经验是并发数要看你检查的目标机器数量和业务重要性来定不是越大越好。原因有两方面。一方面几十台机器同时被SSH连接并执行命令对工具所在的执行机是有一定资源消耗的并发太高时工具本身可能先卡住。另一方面如果目标服务器本身就在承担核心业务一下子多出几十个SSH连接和命令进程虽然影响通常很小但高峰期还是谨慎一点好。我的习惯是日常巡检20台左右的机器并发数设在5到10之间应急排查需要尽快拿数据时可以放宽到20左右但很少再往上加。实测下来20台机器并发10一轮命令跑完也就几十秒已经完全够应急需要了。超时设置同样值得注意。服务器性能扛不住的时候SSH连接本身可能就很慢命令执行也可能长时间不返回。如果超时设置得太短比如默认的10秒那在高负载机器上很容易误报为无响应其实命令还在排队执行。我的做法是把超时调到30到60秒宁可多等一会儿也不想看到一堆超时误判。等了两轮都没反应的机器再单独人工排查通常是有更深的问题比如挂起或者网络不通。4.2 输出回显没有标记等于白查批量执行有个很容易被忽略的痛点几十台机器的输出如果没有标记混在一起根本分不清谁是谁。我见过最惨的一次有人批量执行df -h输出面板里全是/dev/vda1 40G 35G 3.1G 92% /这种行没有主机名结果每一条还得猜是哪台机器的。解决这个问题非常简单在命令里带上一个锚点标记就行。我的标准写法是在命令最前面加上echo $(hostname) $(date %Y-%m-%d %H:%M:%S) 这样每台机器执行时输出面板里会先打印一行分隔标记比如 order-web-01 2025-01-15 14:23:11 后面的命令结果就自动归到这台机器名下面了。批量执行完之后扫一眼标记哪些机器的结果已经返回、哪些还没返一目了然。这个习惯看起来简单但实际排查时能省掉大量核对工作。尤其是结果一多、需要截图或者复制到文档里汇报时带主机名的输出几乎可以直接当素材用不用再逐条加注释。4.3 执行期间的超时截断与命令中断判断批量执行过程中可能会出现部分机器返回、部分机器卡住的情况。这时候首先不要慌也不要立刻重跑整个任务。我的经验是先分清是命令还在执行还是命令已经断了。如果执行窗口显示某台机器的状态一直停在执行中大概率是命令本身耗时长比如vmstat 1 3要跑3秒iostat -x 1 3也要跑3秒都不算特别快。这时候耐心等一下通常会有结果返回。如果显示超时或者连接断开那就要分情况处理了。SSH超时通常有两种一种是网络通但认证慢另一种是目标机器负载太高SSH服务响应不过来。不管哪种单独再跑一次这个机器用最简单的命令比如uptime探一下能通再补查完整命令不通就说明这台机器需要进一步人工介入不要指望批量工具能解决所有问题。还有一个小提醒批量执行里如果有一两台机器失败工具的日志或回显面板里通常会有明确的错误信息比如Connection timed out、Permission denied、Could not resolve hostname。这些信息在排查时很有用建议在执行完成之后先快速扫一遍这些报错确认失败机器的数量和原因再决定下一步。5. 性能数据出来了怎么快速判读5.1 一张常用参考阈值表先定位异常范围批量命令跑完之后数据是齐了但齐了不等于看懂了。性能数据判读这件事最容易出现的问题就是只会看单一指标不会横向对比、不会排除干扰。我的做法是先按一张阈值表快速分层把机器分成有问题、观察、正常三档然后再对有问题和观察档的机器单独深入。下面是我日常用的一张参考表基于大多数Linux服务器的经验值你可以根据自己的业务类型调整指标健康范围需要关注明显异常CPU使用率ussy低于70%70%-85%持续高于85%Load Average / CPU核数低于0.70.7-1.0持续大于1.0内存available占比高于20%10%-20%低于10%Swap使用长期为0或极低偶发增长持续增长磁盘使用率低于80%80%-90%高于90%inode使用率低于80%80%-90%高于90%磁盘IO %util低于50%50%-80%持续高于80%TCP连接数单机低于500500-2000持续高于2000或出现大量TIME-WAIT/CLOSE-WAIT这个表格的作用不是让你死记硬背而是帮你建立基本的判读框架。实际中很多性能问题不是单一指标异常而是多指标联动。比如内存不足时会伴随swap增长、IO等待变高、CPU的wa占比上升磁盘变慢时会看到wa升高、运行队列r变长。看数据的时候多留意这种组合特征比只看单个数字更有价值。5.2 批量结果分流立即处理、观察、正常拿到批量输出后我习惯按顺序做三件事。第一件事先把明显异常的机器捞出来。比如磁盘使用率超过90%的、load超过核数的、available低于10%的。这些机器不需要等全部数据分析完直接进入处理流程。磁盘满就赶紧清理、加容量内存不够就先看有没有可以被释放的缓存或者需要重启的应用。应急场景下先处理最危险的别把时间花在完美分析所有数据上。第二件事给观察档的机器做一次补充检查。比如某台机器内存available在12%附近虽然没过红但也不宽裕我就再单独跑一次cat /proc/meminfo和top -bn1 | head -20看看到底是什么进程在吃内存是持续性的还是偶发性的。因为这个档次的问题往往不会立刻宕机但如果不处理过几天可能就会升级成第一档的问题。第三件事把结果记录下来。注意这里说的不是把所有输出复制一遍而是记录关键信息巡检时间、涉及的主机范围、每台机器的关键指标值、有哪些异常项、处理状态。这个记录不用很复杂一张表格就够。但坚持做下来三个月后你会有一份很有价值的巡检数据档案既能看出某些机器负载的长期趋势也能在领导问最近服务器都还稳定吗的时候直接给出数据依据。6. 进阶把多条检查命令打包成一条巡检命令6.1 巡检命令包的写法与输出整理前面讲到的都是单条命令逐个执行但在实际巡检中我通常不会一次只发一条命令而是会把多条检查命令打包成一条组合命令一次性把所有需要的数据全部拿回来。下面是我常用的一个巡检命令包可以直接复制到Wisdom SSH的批量执行窗口里用echo $(hostname) $(date %Y-%m-%d %H:%M:%S) echo ---- uptime ---- uptime echo ---- top ---- top -bn1 | head -20 echo ---- free ---- free -m echo ---- df ---- df -hT | grep -vE tmpfs|overlay|shm echo ---- inode ---- df -i | grep -vE tmpfs|overlay|shm echo ---- ss ---- ss -s echo ---- vmstat ---- vmstat 1 3这个命令包的执行逻辑是每台机器依次打印主机名和时间、系统负载、CPU进程快照、内存状况、磁盘空间、inode、网络socket统计、系统整体状态。一次批量执行基本上就把一台机器最主要的性能开销全部覆盖了。每条命令之间用echo ---- 命令名 ----做分隔配合开头的主机名标记整个输出有很强的结构感。即使执行了几十台机器也很容易定位到某台机器的某一段数据。有一点要提醒命令包里的输出量比单条命令大很多机器多的时候输出面板会被刷得很快。我的建议是日常巡检优先用这个组合命令包但如果是应急排查我一般会拆成先CPU内存磁盘、再网络IO两轮每轮输出少一点判读更快。6.2 巡检包之后定时跑、留档让巡检命令成为一种资产有了这个巡检包批量性能检查已经从手动一条条敲变成一键全跑了。再往深走一步就是让这些命令变成一种可持续使用的资产。我的做法是把巡检包保存到Wisdom SSH的历史任务里命名成日常性能巡检-全集群。需要做巡检的时候直接选择对应的服务器分组调出这条历史任务点执行等输出刷新就行。整个操作从选机器、选任务、执行三步完成比临时去想命令、拼命令要稳得多也快得多。如果你的服务器上允许布置脚本还可以把这个命令包保存为一个可执行的shell脚本放公共路径上然后在服务器端配合sar或者cron定时采集把数据落到本地文件里。这样装机器的性能数据不再只靠人工巡检那一瞬间的快照而是有长期的历史趋势可查。哪天机器出问题直接翻出事前的数据排查效率会高很多。在配合监控告警方面巡检包的价值也很明显。比如你的监控平台已经检测到某台机器的负载超过阈值了告警触发后先对出问题的机器单独跑一轮巡检包拿到详细数据再决定要不要扩容、要不要重启应用、要不要联系业务方。数据在前决策在后比看到告警就盲目重启要靠谱得多。回到开头那个场景。我现在处理的流程已经变成监控告警弹出后先在Wisdom SSH里选中报警涉及的主机分组执行巡检包两分钟内看到所有机器的CPU、内存、磁盘、网络和负载数据判断是单点问题还是集群整体吃紧再决定后续动作。整个过程基本告别了一台台ssh上服务器敲命令的慌乱状态。最后分享一个个人体会。批量检查虽然快但也别贪多机器规模大的时候建议分批跑比如每批20到30台。一是控制在工具和网络的承受范围内二是输出面板不至于刷得太快导致看不清。跑完一批看一眼结果再跑下一批整个过程优雅而从容。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

C# WinForms+SQLite图书管理系统实战:三层架构与事务处理全解析 2026/9/29 20:04:07

C# WinForms+SQLite图书管理系统实战:三层架构与事务处理全解析

做图书管理系统,可以说是C#桌面端开发者绕不开的一个经典实战项目。这个项目不大不小,刚好能把WinForms、SQLite、三层架构、事件驱动这些最常用的基本功全部串起来,做一次完整的技术体检。市面上讲这个题目的教程很多,但大多数要…

阅读更多 →
Strands Harness SDK:一行代码构建生产级Agent运行时 2026/9/29 20:04:07

Strands Harness SDK:一行代码构建生产级Agent运行时

1. 为什么“手写 Agent 循环”正在成为团队技术债的隐形加速器我去年带一个智能客服中台项目,三名资深后端工程师花了六周时间,用 Python 手写了完整的 Agent 执行循环:从 LLM 调用、tool call 解析、工具执行、结果格式化、状态回传&#xf…

阅读更多 →
Windows分体工控机视觉产线越跑越卡?根因分析与分层架构根治方案 2026/9/29 20:04:07

Windows分体工控机视觉产线越跑越卡?根因分析与分层架构根治方案

机器视觉项目刚上线那会儿跑得挺欢,连续跑上两三个月之后,操作工开始抱怨"怎么越来越慢",工程师重启一下又恢复正常,过几天再卡。更头疼的是量产批次一多,检测结果开始飘,同一批零件昨天判合格今…

阅读更多 →
Java学习路线与避坑指南:从基础语法到面试实战全解析 2026/9/29 20:04:00

Java学习路线与避坑指南:从基础语法到面试实战全解析

最近被问得最多的一个问题,倒不是某个具体的技术报错,而是“Java到底还值不值得学”这种职业层面的问题。作为一个在Java里泡了十几年的老开发,带过团队、面过上百号候选人,我的回答一直很直接:值得,但得先…

阅读更多 →
开源Chrome取证工具hindsight:一键提取浏览器痕迹 2026/9/29 20:04:00

开源Chrome取证工具hindsight:一键提取浏览器痕迹

入行做取证分析那几年,我几乎每次遇到“这台电脑到底看了什么、下过什么、跟谁联系过”这类问题时,第一反应都是同一个行动:先把浏览器的痕迹盘出来。而在所有浏览器里,Chrome 的痕迹最集中、最结构化,也最适合用一套可…

阅读更多 →
IntelliJ IDEA中MyBatis XML的SQL智能提示实战方案 2026/9/29 20:04:00

IntelliJ IDEA中MyBatis XML的SQL智能提示实战方案

1. 项目概述&#xff1a;为什么XML里的SQL总像“盲写”&#xff0c;而IDEA本该是你的SQL导航仪&#xff1f;你有没有过这种体验&#xff1a;在IntelliJ IDEA里打开一个UserMapper.xml&#xff0c;光标停在<select>标签里&#xff0c;想写个WHERE name LIKE %${keyword}%&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉