繁体   English   中英

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

[英]How to update existing rows in Room database?

我有一个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());
      }
});

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

您的Note @Entity类具有一个主键。 updateNote()将基于该主键更新行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM