在MySQL数据库中存储ArrayList对象数据

时间:2019-04-25 16:41:23

标签: java mysql json object

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

编辑:我有用于用户和食物的表。这个想法是,用户从“食物”表中的“食物”添加到他们的ArrayList,然后我要将那个ArrayList存储在某些东西中。

updateValue(int)
public class User{
  private int id;
  private String username;
  private List<Food> FoodList = new ArrayList<Food>();
}

1 个答案:

答案 0 :(得分:0)

  1. 正如@ayrton所提到的,创建(至少)两个表是一个好主意(一个用于用户,一个用于食品)。
  2. 绝对不要为每个用户创建一个表
  3. 就像@NeplatnyUdaj提到的那样,可能需要一个联接表(将食物映射到用户的表)(或者根据您的需要,它可能会过大)。
  4. 鉴于您所描述的细节,JSON几乎肯定不是最佳方法(并非在所有情况下都如此,但是如果您处在这种情况下,我可能建议您考虑使用其他类型的数据库)。

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