//关于 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) 

最新文章

  1. 03.JavaScript 面向对象精要--理解对象
  2. 抓取网页内容生成kindle电子书
  3. Batman崛起之地——Gotham
  4. 学习使用:before和:after伪元素
  5. 【Scala学习笔记】第01弹——Scala安装与配置
  6. linux 流量监控
  7. 【转】 使用Beaglebone Black的PRU(三)——实现高达100MHz的GPIO输出
  8. python与编码
  9. springmvc+mybatis+redis(转)
  10. 不使用模板导出Excel(C#版本)
  11. 在学java继承中
  12. win10环境下如何运行debug
  13. CentOS安装python3.6
  14. L1-Day6
  15. eclipse neon 发布
  16. Python 构建工具 buildout 的介绍与使用
  17. AngularJS基础02 神奇的数据绑定(Binding)
  18. maven ,添加加密算法 apache commons-codec.jar 包
  19. TableView下拉刷新崩溃解决办法
  20. Ajax—web中ajax的常用方式

热门文章

  1. [poj3259]Wormholes(spfa判负环)
  2. [matlab]bp神经网络工具箱学习笔记
  3. 【总结整理】javascript的函数调用时是否加括号
  4. SPOJ-TTM To the moon
  5. NULL 与 ""
  6. vue里的tab标签
  7. poj 1741 Tree(树的点分治)
  8. 我的省选 Day -12
  9. POJ1023 The Fun Number System
  10. 使用命令行+代理更新Android SDK