如何使用Android Room获取特定列

wok*_*tym 2 android android-room

我正在尝试id从数据库中获取列,将其添加到ArrayList并向每个ID添加“ \ t0”,

我的数据库是使用Room创建的,我有很多列,其中之一是

@PrimaryKey(autoGenerate = true)
private int id;
Run Code Online (Sandbox Code Playgroud)

我正在使用ItemDAO并且有功能

@Query("SELECT * FROM item")
List<Item> getItems();
Run Code Online (Sandbox Code Playgroud)

它写了ArrayList<Items>所有我想通过循环获取id和添加的内容来运行的内容,ArrayList<String>但这似乎并不高效。

Val*_*aal 5

您的DAO:

@Query("SELECT Id FROM item")
List<Integer> getAllIds();
Run Code Online (Sandbox Code Playgroud)

您的模型:

@ColumnInfo(name = "Id")
@PrimaryKey(autoGenerate = true)
private int id;
Run Code Online (Sandbox Code Playgroud)

在查询中SELECT * FROM item*表示选择All,将列名称放在此处,然后您将从该列中获取对象列表

示例:选择id列中的所有项目 SELECT id FROM item