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

相关推荐
by组态19 小时前
Ricon组态系统API参考手册
前端·后端·物联网
北京盛世宏博19 小时前
物联网传感器通信协议:帧字段规划、CRC 校验、异常包过滤方案
网络·物联网·php
数字新视界1 天前
能耗管理系统的综合方案与优化实战解析
嵌入式硬件·物联网·数据中心·数据中心基础设施管理·dcim管理系统
Ramble_Naylor1 天前
Forgejo
ci/cd·团队开发·产品经理·源代码管理
北京晶数信息科技1 天前
加油机数据采集设备加油机数据采集器加油机智能采集器液位仪数据采集设备原厂成品油流通数智化综合监管平台技术原理与落地应用解决方案
大数据·人工智能·物联网·需求分析
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 06 章 2.4G&5G 频段信道干扰、穿墙、带宽、速率工程选型
物联网·5g
国产化创客1 天前
创客开发入门(七)Arduino ESP32-WS2812开发
驱动开发·单片机·物联网·智能硬件
smartpi_ai1 天前
空调内机做语音控制选哪颗?CI-03T 的红外码库优势、“5V 供电≠3.3V 串口“的电平误区与声学结构规范
人工智能·ci/cd·语音识别
国产化创客1 天前
创客开发入门(五)Arduino IDE 编程基础
单片机·嵌入式硬件·物联网·esp32
李永奉2 天前
中科蓝讯SDK开发-BT893x 面条耳机连接vivo手机后连接APP端,最后手机端设置页面手动断开蓝牙连接,此时耳机端假断开
c语言·开发语言·嵌入式硬件·物联网·智能手机·电脑