news 2026/9/9 2:45:45

SpringBoot+Vue3+MyBatis+MySQL前后端分离的小型企业CRM系统实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot+Vue3+MyBatis+MySQL前后端分离的小型企业CRM系统实战

做小型企业CRM系统,最怕的就是一上来就撸代码,做到一半才发现表结构不合理、接口设计混乱,前后端联调的时候改来改去。这个项目我前前后后搭过三轮,这一版用SpringBoot+Vue3+MyBatis+MySQL前后端分离的方案,算是在小型团队规模和长期维护成本之间找到了比较舒服的平衡点。如果你正准备做类似的客户管理系统,或者想拿一套完整的全栈项目练手,下面这些从设计到落地的细节,应该能帮你省掉不少弯路。

1. 项目概述与整体架构设计

1.1 小型企业CRM系统的真实痛点

给小型企业做CRM,第一件事不是选技术,而是想清楚系统到底要解决什么问题。我接触过的大部分小企业,客户资料基本躺在三四个地方——销售手机里的通讯录、微信聊天记录、Excel表格,运气好点的可能还有个在线文档。跟进记录更是随缘,今天聊了什么、下次什么时候跟、客户目前卡在哪个环节,全凭业务员脑子记。

这种状态下做系统,核心诉求其实很朴素:客户资料集中管理、跟进过程有迹可循、合同数据随时能查。不需要复杂的CRM理论,不需要自动化营销工作流,更不需要AI销售预测。把这些基础功能做到好用、稳定、上手快,远比堆砌一堆花哨功能有价值。

所以这个项目的功能边界我控制在五个模块内:客户信息管理、联系人管理、跟进记录、合同台账、系统用户与登录。每个模块都做到够用且不臃肿,既能让小团队真正用起来,又不至于让开发周期拉得太长。

1.2 前后端分离架构为何是首选

前后端分离早就不算什么新概念了,但在CRM这类管理系统里,它的优势依然很明显。后端只负责业务逻辑和数据,前端专注页面交互和体验,两边通过JSON格式的接口通信,互不干扰。

对于小团队或者个人开发者来说,这个架构最直接的好处是开发和调试效率高。后端接口用Postman或Apifox单独测,前端页面用Vue3的devServer热更新,两边可以并行开发,不用像传统JSP项目那样每次改点东西都要重启整个Tomcat。部署的时候也更灵活,前端打包成静态文件扔到Nginx里,后端打成Jar包独立跑,哪个有问题就单独处理哪个。

当然,前后端分离也有代价,最典型的就是跨域问题和Token鉴权需要额外处理。我在第5章会详细讲这两个坑。总的来说,对一个需要长期迭代的CRM项目,这个架构带来的收益远大于初期那点额外成本。

1.3 技术选型背后的一笔账

这套技术栈不是追新,而是每一环都经过了实际考量。

后端用SpringBoot,版本选的是2.7.x,不是最新的3.x。原因很简单,2.7.x的生态最成熟,网上资料多,遇到问题好排查,而且很多第三方库对SpringBoot 3.x的Jakarta命名空间支持还有兼容性风险。小企业项目追求的是稳定,不是尝鲜。

持久层选MyBatis而不是MyBatis-Plus,一方面是因为项目标题要求的就是MyBatis,另一方面,CRM系统里很多查询都是多条件动态组合,MyBatis的动态SQL在这种场景下非常顺手。相比MyBatis-Plus那种偏CRUD的封装,手写Mapper XML能让我对每一条SQL都心里有数,排查慢查询的时候多一份掌控感。

前端Vue3采用的是Composition API加

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 2:45:25

STM32官方例程食用指南:从GPIO点灯到USB与Bootloader实战

简介:STM32官方例程是ST公司为基于ARM Cortex-M内核的微控制器打造的参考代码合集,面向嵌入式初学者、进阶开发者以及需要快速验证外设功能的工程师,能够帮助理解中断、时钟、GPIO、定时器、串口、ADC与DMA等核心模块。压缩包内共504个文件&a…

作者头像 李华
网站建设 2026/9/9 2:43:09

Qt实时曲线图实战:QCustomPlot+kissfft串口数据可视化与性能调优

简介:面向QT与C开发者的曲线图制作实战资源,适合需要掌握QT绘图机制、模型/视图架构及自定义图形项的中级开发者。资源围绕曲线图完整实现展开,覆盖QPainter绘图、QGraphicsView/Scene场景搭建、QGraphicsPathItem与QPainterPath路径构建&…

作者头像 李华
网站建设 2026/9/9 2:41:12

Qt桌面项目架构实战:从MVC到MVVM的演进与模块划分

接手过一个别人留下的 Qt 桌面项目。MainWindow.cpp 六千多行,按钮的槽函数里直接写数据库查询,UI 线程上跑网络请求,一个 QTableWidget 塞进去几万行数据,拖动滚动条都能感觉到明显的迟滞。代码不是不能跑,而是没人敢…

作者头像 李华
网站建设 2026/9/9 2:40:46

51单片机贪食蛇游戏机设计与实现:从硬件到代码全解析

简介:这是一份基于89C52单片机的贪食蛇游戏机完整设计,面向51单片机初学者、嵌入式课程设计以及电子制作爱好者,可帮助从零搭建一个多功能交互娱乐项目。项目使用清翔MCS51开发板,代码结构清晰,并提供上位机软件&#…

作者头像 李华
网站建设 2026/9/9 2:39:33

电子专业毕业3个月实操补强,从零基础到拿下硬件工程师offer

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/9 2:38:27

Node.js + Express + MongoDB 实战:从环境搭建到排错全指南

1. 为什么这个组合:Node、Express 与 MongoDB 的“铁三角”定位1.1 从一次给新人带路说起多年来我一直在做后端开发,接触过不少技术栈。每次有新人问我“后端开发需要学什么”,我通常不会直接甩一张几百行的学习路线图,而是让他先…

作者头像 李华