MySQLWebSocket案例

一、 环境搭起来

框架用Spring Boot,省心。Maven依赖主要就这几个:

Spring Boot Starter Web:基础Web功能。

Spring Boot Starter Data JPA:操作MySQL数据库。

Spring Boot Starter Websocket:核心,WebSocket支持。

MySQL Connector Java:连接MySQL数据库。

数据库表就简单点,建个表:

实体类(DeviceStatus)和Repository接口(DeviceStatusRepository)就是常规的JPA那一套,这里就不贴代码占篇幅了。

二、 WebSocket核心配置

重点来了,配置WebSocket。我这儿用的是Spring提供的WebSocket API。

先写个配置类,继承:

这里用了SockJS,是为了兼容那些不支持WebSocket的浏览器,算是个降级方案。

然后,搞个Service (),用来模拟设备数据变化,并主动向WebSocket客户端推送。这里用一个定时任务来模拟:

是神器,直接用它就能发消息。这里我们发到 这个目的地。

三、 前端页面连接和接收

前端页面就用简单的HTML + JavaScript,配合SockJS和STOMP客户端库。

前端逻辑很清晰:连接 -> 订阅指定Topic -> 收到消息后解析JSON并更新DOM。

四、 测试和踩坑提醒

测试:启动应用,打开页面。然后在MySQL里手动修改表的字段。等下一个10秒周期,就能在页面上看到数据自动更新了,效果杠杠的。

注意点:

这个案例算是把MySQL数据通过WebSocket实时推送到前端的基本链路跑通了。虽然例子简单,但核心思想都在。兄弟们可以根据自己的业务场景进行扩展和优化,比如更复杂的数据过滤、分房间推送等等。希望这篇记录能帮到正在折腾的你。

相关推荐
2501_913981787 小时前
工业4.0时代的物联网解决方案:领先品牌如何引领智能制造变革
物联网·制造·工业物联网
虎王物联9 小时前
物联网协议网关设计:多协议融合与数据转换的工程实战
物联网·嵌入式·esp32
Patrick_Wilson12 小时前
sccache 用在 Rust 上为什么常「不省编译」:原理、限制与 Windows 接入
ci/cd·rust·编译器
YCOSA202516 小时前
雨晨 Windows 11 IoT 企业版 LTSC 26H1 特制 28000.2796
windows·物联网
菜冻鱼16 小时前
Python-sklearn-降维
开发语言·人工智能·python·机器学习·支持向量机·sklearn
淡淡的香烟19 小时前
Android视频直播播放器简单封装
android·物联网·音视频
Hello_Damon_Nikola20 小时前
HT2813从入门到精通
单片机·嵌入式硬件·物联网
北风toto21 小时前
研发效能与后端核心技术全景指南:从CI/CD到共性组件实战
java·开发语言·ci/cd
Devlab1 天前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
watersink2 天前
机器学习支持向量机
人工智能·机器学习·支持向量机