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

相关推荐
数智顾问11 小时前
(102页PPT)数字化转型,从战略到执行(附下载方式)
大数据·人工智能·物联网
wotaifuzao11 小时前
硬核拆解:从 RFID 到 NFC,一文读懂智能卡底层技术 (突出“硬核”和“全覆盖”)
物联网·信息与通信·rfid·nfc·感应卡
Stanford_sun11 小时前
基于Zigbee的无线火灾报警系统(云平台版)
网络·嵌入式硬件·物联网·zigbee
weixin_3077791311 小时前
Jenkins Pipeline: Basic Steps 插件详解
开发语言·ci/cd·自动化·jenkins·etl
Wnq1007212 小时前
当无人机 “飞” 入生活,安全隐患如何破解?
嵌入式硬件·物联网·网络安全·信息与通信·信号处理
weixin_3077791312 小时前
Jenkins Pipeline:Groovy插件全解析:从原理到实战应用
开发语言·ci/cd·自动化·jenkins·etl
weixin_3077791312 小时前
Jenkins Pipeline: API 插件详解
运维·ci/cd·自动化·jenkins·etl
weixin_3077791313 小时前
Jenkins Declarative Pipeline:现代CI/CD的声明式实践指南
开发语言·ci/cd·自动化·jenkins·etl
TDengine (老段)13 小时前
TDengine 新性能基准测试工具 taosgen
大数据·数据库·物联网·测试工具·时序数据库·tdengine·涛思数据
黑客思维者13 小时前
Python modbus-tk在配电物联网边缘网关的应用
开发语言·python·物联网