首页 > 解决方案 > 如何在java中设置Timer来连接Mysql

问题描述

我正在制作一个小型聊天应用程序。我开发前端和后端代码。我从 UI(用户名,男性,性别)获取用户信息,然后提交。当点击提交按钮重定向下一页 UI 将显示 Timer 30 sec (30,29,28, ......., 0) 并保存数据;

user1 提交和 user2 提交;

默认数据库状态“NC”(未连接)

同时,我的 java 代码将搜索我的数据库中可用的任何“W”(等待)。如果可用,则两者都连接 30 秒后 30 秒将断开连接,否则用户将状态“W”更改为 30 秒。


mysql> desc userStatus;
+--------+--------------------+------+-----+-------------------+-----------------------------------------------+
| Field  | Type               | Null | Key | Default           | Extra                                         |
+--------+--------------------+------+-----+-------------------+-----------------------------------------------+
| id     | int                | NO   | PRI | NULL              | auto_increment                                |
| user1  | int                | YES  |     | NULL              |                                               |
| user2  | int                | YES  |     | NULL              |                                               |
| status | enum('W','C','NC') | YES  |     | NC                |                                               |
| time   | timestamp          | NO   |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
+--------+--------------------+------+-----+-------------------+-----------------------------------------------+
5 rows in set (0.38 sec)


user1 -> 不可用状态“W”用户将在 30 秒自动断开连接后更改“W”30 秒并更改状态“NC”(未连接)。user2 -> 在 30 秒内任何其他人输入(用户名、电子邮件、性别)和相同的进程 Timer 在 UI 中启动 30 秒,然后 java 将在 DB 中搜索任何“W”。但是 user1 已经可用,因此 user1 和 user2 连接并通信 30 秒。这个过程不断

我的问题是如何在数据库中搜索“W”。如果可用,则两者都已连接,否则响应将发送“不可用”;如何在 java 代码中等待 30 秒,如果 'W' 可用,免疫将连接 30 秒;

标签: javamultithreading

解决方案


推荐阅读