greendao3.2 数据库增加字段(greendao)

2023-03-27 15:01:35 指南信息 梁佰亿

greenDAO 3.2 生成的字段添加了非空约束。

字段类型为基本类型默认会添加非空约束,字段类型设置为对象类型默认不会添加非空约束,而且最终生成的sql会使用对象类型。

greendao(Greendao 同步吗) 第1张

gradle更新到3.5.0之后导致GreenDao初始化失败

今天更新了下项目的gradle最新版本,结果运行导致GreenDao报错Could not init DAOConfig

最后通过在GreenDao的github的Issues中找到了原因解决方法

基本的意思就是gradle在3.5.0的版本以及之后的版本,混淆规则出现了新的变化,需要将混淆规则中GreenDao中的

更换成

这是最新的处理方式,当然也可以直接回退gradle的版本也能解决这个问题

至于新规则的验证我还没有做,有兴趣的可以试试

GreenDao使用(插入)

//插入一条数据

//插入多条数据

//插入或替换,如果不存在就插入,存在就替换

//插入或替换多条数据

GreenDao3.X排序方法踩坑

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

1.orderAsc(Property...properties)

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

2.orderDesc(Property... properties)

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

3.orderRaw(String rawOrder)

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

发表评论: