【问题标题】:Java JSpinner time to MySQL databaseJava JSpinner 时间到 MySQL 数据库
【发布时间】:2012-10-04 22:12:28
【问题描述】:

我正在开发一个程序,提示用户选择他/她在酒店住宿的时间,我正在使用 JSpinner 来执行此操作。但我不知道如何从 JSpinner 中提取时间并将其以时间格式插入 MySQL 数据库。请帮助并给我一些例子。对不起菜鸟问题

【问题讨论】:

    标签: java mysql swing time


    【解决方案1】:
    • 从微调器 (JSpinner#getValue) 中检索数据并将其转换为时间对象。转换将取决于您的微调器模型中存储的数据。 SpinnerDataModel 可能是一个有趣的模型来支持您的微调器,
    • 在后台线程上将查询发送到您的数据库,例如通过创建Runnable 并使用新的Thread 来执行此操作。

    可以在JSpinner tutorial 中找到示例。例如(从那个教程复制粘贴)如果你使用SpinnerDateModel,你可以使用

    SpinnerDateModel dateModel = ...;
    ...
    setSeasonalColor(dateModel.getDate());
    

    它允许您直接从模型中检索Date 对象,而无需进行转换。

    此外,Swing concurrency tutorial 解释了为什么您应该在后台线程上更新您的数据库。它还包含有关如何从 EDT 在后台线程上执行某些内容的代码 sn-ps。但是,如果您只需要更新 db,并且 UI 中的任何内容都必须更新,则无需选择该示例代码中使用的 SwingWorker 类。在这种情况下,您可以简单地启动一个新的Thread,如上所述。网上充斥着如何实现这一目标的示例。

    【讨论】:

    • 他们有更简单的方法吗?我不想用线程做这个我只是java新手,我还不知道如何使用线程。我的程序只是一个简单的酒店客人表格,需要时间和计算停留时间,这就是为什么我需要时间输入,我发现 SpinnerDataModel 可以避免用户错误带来的很大风险
    • 还不知道如何使用Thread ...在你真正需要的项目中学习新东西再好不过了。
    • 使用此代码 setSeasonalColor(dateModel.getDate());我可以将日期对象直接存储到 MySQL 数据库吗?
    • 是的。但如前所述,最好在后台线程上执行数据库更新,而不是在 Event Dispatch 线程上
    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多