利用GreenDao 3.0搭建和更新数据库非常方便,它可以自动完成修改数据表时的大量工作。在升级数据库添加字段时遇到了一个问题就是如何给新添加的字段赋默认值?
百度搜索,找到一篇文章,说是GreenDao的作者不屑于提供方法赋默认值,然后提出了自己的解决方案:修改XXDao.java文件内的SQL语句,比如将修改为,这样字段blood就有了默认值”A”。
美滋滋的开始了编译安装测试,然后调试时发现默认值还是为null。然后发现我修改的sql语句回滚了。卧槽!因为编译期自动生成sql语句的原因,我的修改是无意义的。
我想了想默认值这种常用的功能GreenDao的作者不可能不提供。而保存bean中的数据到数据库的方式是通过反射bean读值完成的。想到这一点后尝试在user.java文件中给成员变量赋初始值,然后测试,果然有了默认值。
感慨之余写下这篇文章帮助其他初学者,也顺便给那些不懂装懂的写文章误人的人送去亲切的问候。
Android GreenDao 3.0下给数据表的字段设置默认值
最新推荐文章于 2022-03-04 20:02:57 发布