【问题标题】:How to represent an array of Strings in mySQLdatabase如何在 mySQL 数据库中表示字符串数组
【发布时间】:2014-08-17 22:51:19
【问题描述】:

我是使用 mySQL 数据库的新手。我在 Java 中有一个类,它作为一个字符串数组的变量。

我想将该字符串数组保存在我的数据库中。 如何在 mysql 数据库中表示我的字符串数组?

谢谢

【问题讨论】:

  • 选项 1) 序列化和存储。 2) id | arrayname + id | array_id | string.
  • 如果您希望能够匹配单个数组元素,最好将每个元素放在表格的不同行中。

标签: mysql jpa


【解决方案1】:

我能想到一些办法:

  1. 序列化对象。 这是如何运作的?首先,您需要一个可以保存类名和序列化对象的表。当您需要从数据库中读取对象时,您需要类名。

    示例代码可以在这里找到:

    http://javapapers.com/core-java/serialize-de-serialize-java-object-from-database/,

    http://www.java2s.com/Code/Java/Database-SQL-JDBC/HowtoserializedeserializeaJavaobjecttotheMySQLdatabase.htm

  2. 有时您需要序列化的不是对象,而是对象的属性。在这种情况下,您可以使用 XML 或 JSON(例如)。 在这种情况下,创建对象的字符串表示形式并将其作为文本字段保存到数据库中。

  3. 您可以使用许多 ORM 解决方案中的任何一种,例如 iBatis、Hibernate 等,将您的对象映射到一个或多个表。 http://java.dzone.com/articles/getting-started-ibatis-mybatis http://hibernate.org/orm/

  4. 如果您需要将对象的某些属性保存到数据库,那么您可以使用 JDBC 并仅更新字段,或者使用 ORM 并创建一个 POJO喜欢保存。

【讨论】:

  • Ty.. 看起来很复杂 :-( 我已经有一个类的表,并且已经有其他属性表示.. 但它们是 int 变量和双打.. 我想要一些简单的东西to 和一个 More 变量,它是一个固定大小为 12 的字符串数组:-(
  • 关于 4,我的问题是我真的不知道如何在我的数据库中表示字符串数组。我应该创建一个名为 mystring 的新表,而另一个表将具有 1 到多个 mystring 的关系,这样我可以表示我的对象包含的字符串数组吗?或者这是一种丑陋的方式?
猜你喜欢
  • 2017-03-09
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2011-09-30
  • 2013-03-18
  • 1970-01-01
  • 2014-05-22
相关资源
最近更新 更多