我想编写一个 Java 程序,它可以获取任意数据并将其存储在 MySQL 数据库中。稍后可以再次读取数据并重建原始对象结构。
背景是我想要一个通用工具,用于需要电子邮件验证才能完成的表单。所以:
- 用户填写表格,
- 数据存储如上所述,
- 电子邮件通过包含特定 UUID 标识数据集的链接发送给用户,
- 用户点击链接,
- servlet 使用链接中的 UUID 加载存储的数据并处理数据。
我希望这适用于任何数据,而不仅仅是 String/String 或 String/int 对。我正在考虑使用 org.apache.common.beanutils 中的 LazyDynaBean 作为将数据传递给我的工具的一种方式。
问题是:有没有一种很好的方法来序列化这些东西,即使值是 bean(让我们限制 Java Beans),而不仅仅是原语?
我在想我的数据库表可能看起来像这样
emailVerification
| ID | UUID | validUntil |
emailVerificationData
| ID | emailVerification.ID | name | index | key | value | className |
这完全可行吗?谁能指出我如何将 DynaBean 存储和加载到这个结构中的正确方向?或者我错过的任何替代方案?
谢谢一堆。