使用以下代码示例来实现UPSERT操作:
@Insert(onConflict = OnConflictStrategy.REPLACE) void insertOrUpdateData(MyEntity entity);
//MyEntity示例类 @Entity public class MyEntity { @PrimaryKey public int id;
public String data;
}
//调用方式示例 MyEntity entity = new MyEntity(); entity.id = 1; entity.data = "example data"; database.myDao().insertOrUpdateData(entity);
使用onConflict=OnConflictStrategy.REPLACE来告知Room当数据发生冲突时调用更新操作。但需要注意的是,这种方式只能在有Primary Key的情况下才能正常运作。