美文网首页
GreenDao3.X排序方法踩坑

GreenDao3.X排序方法踩坑

作者: AndroidDMW | 来源:发表于2017-11-14 11:18 被阅读811次

前言

        greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。关于greenDAO的概念可以看官网greenDAO(看不懂的请右键翻译成中文【严肃脸】)。关于greenDAO的优点,个人认为就是链式使用方便快捷不需要繁多的SQL语句,还有就是节省内存,嗯就这样。(简单使用请参考http://www.jianshu.com/p/4986100eff90 )下面开始踩坑。。。


greenDao 排序方法

关于greenDao 的排序 , 常用的有三个方法

1.orderAsc(Property...properties)

/** Adds the given properties to the ORDER BY section using ascending order. */

public QueryBuilder orderAsc(Property... properties){

orderAscOrDesc(" ASC", properties);

return this;

}

很简单这是个正序排序,传入参数即可。SQL语句中排序orderby的时候是不指定正反序,默认是正序。但是无论是greenDao还是SQL语句进行排序,这里都有一个坑,敲黑板!!!就是这个需要的这个参数properties的类型,千万不要是String!!!楼主在这坑爬了半天,简单举例如果你这个参数是string类型的,那么你就会发现它是一位一位取出来进行排序的,就是这样的 1,10,11,12...2,20,21,22....而不是你想要的123456...

2.orderDesc(Property... properties)

/** Adds the given properties to the ORDER BY section using descending order. */

publicQueryBuilder orderDesc(Property... properties) {

orderAscOrDesc(" DESC", properties);

return this;

}

这个是倒叙没什么好说的...

3.orderRaw(String rawOrder)

/**

* Adds the given raw SQL string to the ORDER BY section. Do not use this for standard properties: orderAsc and

* orderDesc are preferred.

*/

publicQueryBuilder orderRaw(String rawOrder) {

checkOrderBuilder();

orderBuilder.append(rawOrder);

return this;

}

这个就厉害了,举个例子,你要做个考试系统的随机练习功能,但是greenDao并没有像SQL语句那样提供random方法,这时候如果又用回SQL语句建立规则然后游标cu'rsor查询,那我们为什么费劲巴拉的用greenDao呢,其实greenDao是可以结合SQL语句进行食用的,安全无公害还嘎嘣脆【笑。。。】这里用这个方法就可以轻松实现,点出来写入语句即可。(注:这里输出list的时候不要用.listLazyUncached()!!!

orderRaw("RANDOM()")

温故知新可为师,很高兴能跟大家分享。

相关文章

  • GreenDao3.X排序方法踩坑

    前言 greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。关于greenDAO的概...

  • 算法踩坑6-二叉搜索树排序

    背景 接上面五篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 ...

  • 算法踩坑5-归并排序

    背景 接上面四篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 来...

  • 算法踩坑4-冒泡排序

    背景 接上面三篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 来继续聊聊最近我写的一些算...

  • 算法踩坑3-堆排序

    背景 接上面两篇文章算法踩坑-快速排序 算法踩坑2-插入排序 来继续聊聊最近我写的一些算法的小例程,这次要聊的...

  • 一文区分call,bind,apply

    前言 我们都知道这三种方法都用于绑定this,但没有区分好,很容易踩坑。继多次踩坑之后我又踩坑了,所以决定再次学习...

  • JavaScript踩过的坑

    开一篇记录踩过的坑...... Array.sort() 数组排序 Array.prototype.sort()有...

  • Spark配置

    配置方法 配置注意事项 配置踩过的坑

  • 算法踩坑-快速排序

    背景 最近一年开始陆陆续续的看了一些算法的书籍,都是一些比较浅显的入门类书籍,最开始看的是《啊哈算法》,这本书是在...

  • PageHelper 排序踩坑记录

    问题重现 开发环境Spring Boot + Mysql + mybatis+ pagehelper 开发中碰到莫...

网友评论

      本文标题:GreenDao3.X排序方法踩坑

      本文链接:https://www.haomeiwen.com/subject/lrhifxtx.html