java - 在mySQL数据库中存储ArrayList对象数据

标签 java mysql json object

我正在创建一个具有 User 对象的 Web 应用程序,每个 User 对象都有一个需要存储到 mySQL 数据库表中的对象(Food)的 ArrayList。我想将整个 ArrayList 存储到单个列中。将其存储为 Json 会更好吗?或者我应该为每个用户创建一个表来存储 ArrayList 的各个项目?我遇到的唯一问题是数据会非常频繁地编辑。

编辑:我有用户和食物的表格。这个想法是,用户将食物表中的食物添加到他们的 ArrayList 中,然后我想将该 ArrayList 存储在某个东西中。

public class User{
  private int id;
  private String username;
  private List<Food> FoodList = new ArrayList<Food>();
}
public class Food{
  private int id;
  private String name;
  private double protein;
  private int calories;
  ...
}

最佳答案

  1. 正如 @ayrton 提到的,创建(至少)两张表是一个好主意(一张用于用户,一张用于食品)。
  2. 绝对不要为每个用户创建一个表
  3. 正如 @NeplatnyUdaj 提到的,连接表(将食物映射到用户)可能是必要的(或者可能有点过分,具体取决于您的需求)。
  4. 鉴于您所描述的详细信息,JSON 几乎肯定不是最好的方法(并非在所有情况下都是如此,但如果您处于这种情况,我可能建议您考虑不同类型的数据库)。

(欢迎来到 SO,顺便说一句!)

关于java - 在mySQL数据库中存储ArrayList对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854037/

相关文章:

java - 在循环中使用 Map.put(String, Integer)

java - Maven "package"与 Eclipse 中导出为 war

java - 为什么Spring MVC GET方法不通过json值设置POJO类?

ruby-on-rails - 在 Rails 4 中格式化我的 JSON 输出

php - MYSQL中通过php查询

json - 如何在 Swift 中解码 HTML 实体?

java - 如何在java电子邮件中插入for语句

java - 有没有办法在 JSP 中填充 map ?

java - 在hibernate中避免@Column注释中的 "columnDefinition"属性

python - 来自变量的 Pymysql 表名