//关于 group by 的实现
//--------------------
XXXDao.queryBuilder().where(new WhereCondition.StringCondition(Properties.Contact_number.eq(phonenumber) + "GROUP BY group_name")).orderDesc(Properties.Date_time).build().list();

在GreenDao的使用过程中,查询了好多的资料,基本是都是把网站上的东西给翻译,再加一点点的说明,可是真正操作时,你会发现有很多的疑问,

以下就是记录我在使用过程中遇到的问题,及解决的方法,可能对,可能不对,可能不妥当,欢迎大家提出宝贵意见!

1.关于  entity 中的 @Id 字段

大部分就是这样说的:    @Id  对应数据表中的 Id 字段,是一条数据的唯一标识。

再多一点的话,会告诉你加一个  @Id(autoincrement = true)

就是可以设置为自增,或手动增加!

----------------------------------------------------

我的疑问:   如果想获取  新Insert 数据的Id 怎么办??(老鸟会说:  你没有细看源码,或是说明书!是的,不过我真的是个新手,只是记录一下)

如果设置为自增:        那是不是 插入 后还要 再查询一下,获取Id,

如果手动设置ID:        那是不是在插入前,还是需要查询一下数据库!

也就是说不管怎么样就需要额外查询一下数据库!

这不是我们想要的!

答案很简单: 就是 Insert 本身就返回一个该插入数据的ID

 Long newID = myDataDao.insert(myObj);   // newID,就是插入该条数据的Id.

        事实上:在我们实际应用过程中,有时,希望自己手动给定ID,  比如:

同步服务器的数据到本地手机SQLITE那就需要就原来的ID(当然,另一个方案 也可以设置另外一个 冗余 字段ID),

其实,也很简单,只要测试一下就知道了:

直接插入数据,包括Id字段(需要有相应的   Construtor),当然,字段是不能与原来的重复!

我的办法: 把原来的数据全删除,然后再插入,这样就可以保持原来的ID不变.

                         缺点:  需要删除原来的数据,再插入,如果数据量很大的话,这样做是不合理的(因为我的数据量不是很大万条以内)

                         优点:  就是保持原来的ID

                        (当然,另一个方案 也可以设置另外一个 冗余 字段ID) 

GreenDao 使用知识小y的更多相关文章

  1. 小Y的轮回之路——攒机装机、B150装win7

    两个月前,陪伴我5年多的小Y(ideapad-y460N卡)突然大伤元气,硬盘跪了,显示屏也黑了一小块.本着经济实惠凑合用的态度换了个320G的硬盘,没想过几天显示屏情况加重,出现无数个红绿相间的线条 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. 小Y的难题

    Font Size:Aa Aa Aa Description 近期小Y迷上了数学,总是在思考各种数学问题.有一天,他不小心把墨水洒在草稿纸上.他如今能看到的是"2?3?1?4"(? ...

  4. D - 小Y上学记——要迟到了!

    D - 小Y上学记——要迟到了! Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  5. C - 小Y上学记——认识新同学

    C - 小Y上学记——认识新同学 Time Limit: 4000/2000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  6. B - 小Y上学记——小Y的玩偶

    B - 小Y上学记——小Y的玩偶 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  7. A - 小Y上学记——修学分

    A - 小Y上学记——修学分 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) S ...

  8. 【luogu P4007 清华集训2017】小Y和恐怖奴隶主

    题目背景 “A fight? Count me in!” 要打架了,算我一个. “Everyone, get in here!” 所有人,都过来! 题目描述 小 Y 是一个喜欢玩游戏的 OIer.一天 ...

  9. 【luoguP4006 清华集训2017】小Y和二叉树

    题目描述 小 Y 是一个心灵手巧的 OIer,她有许多二叉树模型. 小 Y 的二叉树模型中,每个结点都具有一个编号,小 Y 把她最喜欢的一个二叉树模型挂在了墙上,树根在最上面,左右子树分别在树根的左下 ...

随机推荐

  1. Codeforces 1107G Vasya and Maximum Profit 线段树最大子段和 + 单调栈

    Codeforces 1107G 线段树最大子段和 + 单调栈 G. Vasya and Maximum Profit Description: Vasya got really tired of t ...

  2. ubuntu下hive-0.8.1配置

    1.下载hive包wget http://labs.mop.com/apache-mirror/hive/stable/hive-0.8.1.tar.gz,并用tar -xzvf 将其解压到要安装的目 ...

  3. 阶段3-团队合作\项目-网络安全传输系统\sprint0-产品规划与设计\第2课-产品功能模型设计

  4. Windows使用Github

    首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global user.name "你的名 ...

  5. 使用MailMessage发送邮件

    SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient smtp.DeliveryMethod = SmtpDeliveryMethod.Netwo ...

  6. Cocos creator之javascript闭包

    .什么是闭包? 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回 ...

  7. Codeforces#514E(贪心,并查集)

    #include<bits/stdc++.h>using namespace std;long long w[100007],sum[100007];int fa[100007],degr ...

  8. 2017乌鲁木齐区域赛K(容斥原理【求指定区间内与n互素的数的个数】)

    #include<bits/stdc++.h>using namespace std;const long long mod = 998244353;typedef const long ...

  9. 解决Maven项目中jar包依赖冲突问题

    版本冲突的解决方案 [1]调节原则 [1]路径最短者优先原则 [2]路径相同时,先声明者优先原则 [2]排除原则:用于排除某项依赖的依赖jar包 <dependency> <grou ...

  10. 文本处理三剑客之gawk

    gawk 作者:Aho, Weinberger, Kernighan 版本: GNU awk:gawk New awk:nawk 简介:格式化文本输出工具,模式扫描及处理语言:报告生成器. 用法:ga ...