是的,我知道这是不好的做法,我应该规范化我的表。撇开这个不谈,是否可以序列化一个 String[] 数组并将其存储在数据库中?
我来自 PHP 的宽容和宽容的世界,在其中调用 serialize() 函数并将数组转换为字符串。
在 Java 中是否有类似的异端邪说? 除了规范化之外,还有更优雅的方式在数据库中存储字符串数组吗?
如果适用,我正在为我的 MySQL 连接使用 jdbc 驱动程序。
最佳答案
是的。您可以序列化任何 Java 对象并将序列化数据存储到 MySQL。
如果您使用常规序列化 (ObjectOutputStream),则输出始终为二进制。甚至 String 也被序列化为二进制数据。因此,您必须对流进行 Base64 编码或使用像 BLOB 这样的二进制列。
这与 PHP 不同,PHP 的 serialize() 会将所有内容都转换为文本。
您也可以使用 Java 中的 XML 序列化 (XMLEncoder),但它非常冗长。
关于Java:序列化 String[] 数组以存储在 MySQL 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515300/