我是 ActiveAndroid 的新手,我一直在查询数据库。
请帮助我了解execute()
图书馆中executeSingle()
和ActiveAndroid
方法之间的区别?
这两种方法都用于查询数据库,但我没有得到何时使用前者以及何时使用后者?
答案 0 :(得分:5)
执行()返回对象列表,而 executeSingle()返回已执行查询返回列表的第一个元素。
因此 execute()的返回值是一个列表, executeSingle()的返回值是一个单独的对象。
答案 1 :(得分:2)
executeSingle()
和public static Item getRandom(Category category) {
return new Select()
.from(Item.class)
.where("Category = ?", category.getId())
.orderBy("RANDOM()")
.executeSingle();
}
之间的区别在documentation中有所解释:
如果我们只想从某个类别中获取项目,我们会为where参数传入一个字符串。该方法如下所示:
public static List<Item> getAll(Category category) {
return new Select()
.from(Item.class)
.where("Category = ?", category.getId())
.orderBy("Name ASC")
.execute();
}
以下是我们如何获取某个类别中的所有项目,按名称排序。
execute()
如您所见,executeSingle()
会返回一个列表,而executeSingle()
会返回一个对象。
在上面的示例中,第一个将返回与查询匹配的随机对象,而第二个将以升序返回所有对象。
换句话说,使用execute()
返回第一个结果,并使用{{1}}返回包含所有对象的列表。