Java:序列化 String[] 数组以存储在 MySQL 数据库中?

标签 java mysql arrays serialization

是的,我知道这是不好的做法,我应该规范化我的表。撇开这个不谈,是否可以序列化一个 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/

相关文章:

php - mysqli_stmt 从 3 个表获取有限数据

javascript - 在 JavaScript 中获取数组时出现问题 TypeError : Cannot set property

javascript - 应该是未定义的 jQuery 对象

java - 策略模式或函数指针

java - Android Studio 中基本音乐播放器中的音频问题

Mysql2创建VIEW时出现语法错误

mysql - Doctrine 异常的 1452 错误

javascript - 需要一种优雅的方法来根据输入更改内联 if 语句的返回结果

java - CentOS 7 : segmentation fault (core dumped) when type java -version

java - 验证两个arraylist中的数据并将其删除