通过我有一个函数返回的对象的列表,其ID是一个给定的阵列中:订单查询结果作为参数
public static List<T> findByIds(int[] ids) {
final String where = "_ID IN (" + StringUtils.implode(ids, ",") + ")";
final Cursor c = db.query(TABLE, ALL_COLUMNS, where, null, null, null, null);
final List<T> result = new ArrayList<T>(c.getCount());
while (c.moveToNext()) {
final T t = createFromCursor(c);
result.add(t);
}
c.close();
return result;
}
我需要的结果是在相同的顺序ids
函数参数。 ids
功能参数最多有200到300个元素。
我看了一下Ordering query result by list of values这似乎解决了同样的问题,但答案中有很多SQLServer特定的东西。
对于基于SQL(获得结果排序)或Java(后续命令)解决方案的任何建议?
这就是我会使用,直到我有一些时间(和需要)来优化该功能。感谢您的意见。 – 2011-04-05 13:23:44