如何更新Room数据库中的现有行?

时间:2017-12-05 18:18:09

标签: java android android-room

如果特定日期已经存在注释,我有一个DAO类用于更新注释。如果注意,DAO会创建一个新注释。这是DAO界面:

@Insert(onConflict = OnConflictStrategy.REPLACE)
public long insertNote(Note note);

@Update
public int updateNote(Note note);

以下是我从数据库中读取所有数据的方法:

viewModel = ViewModelProviders.of(this).get(NoteListViewModel.class);
viewModel.getNoteList().observe(MainActivity.this, new Observer<List<Note>>() {
      @Override
      public void onChanged(@Nullable List<Note> noteList) {
            Log.d("Note List Items", noteList.toString());
      }
});

现在,我不知道检查,比较和更新数据库中的现有行。

1 个答案:

答案 0 :(得分:2)

您的Note @Entity课程有一个主键。 updateNote()将根据该主键更新行。