//关于 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. 使用SecureCRT工具部署项目

    总结下我的Java开发过程的一些知识点: 我要上线某个项目,此时我需要给测试人员发送安全扫描文件,等待测试人员完成项目的扫描之后才可以完成上线: 1 将项目打成war包.比如implgtyy.war文 ...

  2. Learning Python 008 正则表达式-002 findall()方法

    Python 正则表达式 - findall()方法 重点 findall()方法的使用 - 程序讲解 简单的符号的使用 正则表达式的库文件是re,先导入库文件: import re .的使用举例 # ...

  3. sklearn交叉验证法(Cross Validation)

    import numpy as np from sklearn import datasets from sklearn.cross_validation import train_test_spli ...

  4. 【MySQL】MySQL悲观锁 + 事物 + for update 解决普通流量并发的问题

    使用mysql悲观锁解决并发问题   最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事 ...

  5. [MySQL] Data too long for column 'title' at row 1

    李刚轻量级JavaEE第六章的坑..艹李刚自己有没试过这些代码的啊,6.4这一份HqlQuery.java里需要的表,根本就跟他提供的sql脚本对不上啊..坑爹啊,而且字符编码集也有问题. 出现这个原 ...

  6. Note: Migratory Compression: Coarse-grained Data Reordering to Improve Compressibility

    思路/方法 设计了Migratory Compression. 调整chunk相对位置,将相似chunk排列在一起,通过压缩来减少data store占用的实际存储空间. https://en.wik ...

  7. [笔记]解决git本地仓库不能上传到gitee远程仓库的问题

    关键词:git.gitee.码云.上传远程仓库失败 1.gitee有一个远程仓库名字是CommandModel,里面只有两个README文件 2.假如我目录  D:\eclipse\workspace ...

  8. MySQL的CURRENT_DATE(),NOW(),DATE_FORMAT()函数的应用,类型转换及操作汇总

    内容简介 datetime类型和timestamp类型的取值范围,CURRENT_DATE()函数应用,NOW()函数应用,DATE_FROMAT()函数取星期,日期.字符串.时间戳相互转换等. 时间 ...

  9. Spring MVC 参数的绑定方法

    在Spring MVC中,常见的应用场景就是给请求的Url绑定参数.本篇就介绍两种最最基本的绑定参数的方式: 基于@RequestParam 这种方法一般用于在URL后使用?添加参数,比如: @Req ...

  10. JSONObject,JSONArray,String,Map间的互转

    引言      在平常的Web项目开发过程中,json和String.map是最常用的类型和返回结果集,其中也经常会涉及到之间的各种相互转换,下边就总结一下: 1.String转JSONObject ...