注解介绍:(参考自GreenDao3 使用说明:http://www.jianshu.com/p/4e6d72e7f57a)
-
@Entity
用来声明类实体,表示它将映射为数据表
@Entity()括号内可加入更详细的设置,如:
nameInDb =“TABLE_NAME” ——> 声明该表的表名,默认取类名
createInDb = true ——> 是否创建表,默认为true
generateConstructors = true ——> 是否生成含所有参数的构造函数,默认为true
generateGettersSetters = true ——> 是否生成getter/setter,默认为true -
@Id
用来声明某变量为表的主键,类型使用Long
@Id()括号可加入autoincrement = true表明自增长 -
@Unique
用来声明某变量的值需为唯一值 -
@NotNull
用来声明某变量的值不能为null -
@Property
@Property(nameInDb = “URL”) 用来声明某变量在表中的实际字段名为URL -
@Transient
用来声明某变量不被映射到数据表中 -
@ToOne、@ToMany
用来声明”对一”和“对多”关系,
GreendDao增删改查方法总结:
1.增
-
insert:插入
查询主键插入已有此主键会报错。只适用于完全新建某条数据。 -
insertOrReplace:有则更新无则插入
传入的对象在数据库中,有则更新无则插入。推荐同步数据库时使用该方法。 -
save:保存
类似于insertOrReplace,区别在于save会判断传入对象的key,有key的对象执行更新,无key的执行插入。当对象有key但并不在数据库时会执行失败。适用于保存本地列表。 -
insertOrReplace与save结论
在确保插入数据有key时必须存在于数据库的情况下,适用save更高效。其他情况一律适用insertOrReplace
2.删
- delete:删除。
3.改
- update:更新修改
update只能在表中已有数据修改。使用感觉与insertOrReplace,save无明显差别。
网友评论