GreenDao 分页条件查询排序

不定时记录greenDao使用方法。 
分页加载20条数据,getTwentyRec(int offset)中控制页数offset++即可

UserDao dao = openReadableDb().getUserDao();
List<UserEntity> listMsg = dao.queryBuilder().offset(offset * 20).limit(20).list();
 (1)orderAsc:升序排序 
(2)orderDesc: 降序排序 
(3)eq():== 
(4)noteq():!= 
(5)gt(): > 
(6)t():< 
(7)ge:>= 
(8)le:<= 
(9)like():包含 
(10)between:俩者之间 
(11)in:在某个值内 
(12)notIn:不在某个值内
userDao.queryBuilder()
  .where(Properties.FirstName.eq("Joe"))
  .orderAsc(Properties.LastName)
  .list();

 orderDesc 排序后截取分页加载数据

   /**
     * 分页条件查询实体集合
     *
     * @param entityClass
     * @param offset
     * @param limit
     * @param where
     * @param selectionArgs
     * @param <T>
     *
     * @return
     */
    public <T> List<T> queryPage(Class<T> entityClass, int offset, int limit, String where,
            Property properties, Object... selectionArgs) {
        AbstractDao<T, ?> dao = (AbstractDao<T, ?>) daoSession.getDao(entityClass);
        QueryBuilder<T> builder = dao.queryBuilder()
                .orderDesc(properties)
                .where(
                        new WhereCondition.StringCondition(where, selectionArgs))
                .offset(offset * limit)
                .limit(limit);
        return builder.list();
    }

猜你喜欢

转载自blog.csdn.net/nuonuonuonuonuo/article/details/81234168