GreenDao总结

内容依据GreenDao开发文档http://greenrobot.org/greendao/

android工程中添加GreenDao依赖



GreenDao总结_第1张图片

创建表模型


(一) @Entity 定义实体

    @nameInDb 在数据库中的名字,如不写则为实体中类名,如果引入外库,有查询不到的异常

    @indexes 索引

    @createInDb 是否创建表,默认为true,false时不创建

    @schema 指定架构名称为实体

    @active 无论是更新生成都刷新

(二) @Id

(三) @NotNull 不为null

(四) @Unique 唯一约束

(五) @ToMany 一对多

(六) @OrderBy 排序

(七) @ToOne 一对一

(八) @Transient 不存储在数据库中

(九) @generated 由greendao产生的构造函数或方法

    创建javaBean,通过注解@Entity建立数据库模

    @Entity(

    // If you have more than one schema, you can tell greenDAO

    // to which schema an entity belongs (pick any string as a name).

    schema = "myschema",

    // Flag to make an entity "active": Active entities have update,

    // delete, and refresh methods.

    active = true,

    // Specifies the name of the table in the database.

    // By default, the name is based on the entities class name.

    nameInDb = "AWESOME_USERS",

    // Define indexes spanning multiple columns here.

    indexes = {

        @Index(value = "name DESC", unique = true)

    }

    // Flag if the DAO should create the database table (default is true).

    // Set this to false, if you have multiple entities mapping to one table,

    // or the table creation is done outside of greenDAO.

    createInDb = false,

    // Whether an all properties constructor should be generated.

    // A no-args constructor is always required.

    generateConstructors = true,

    // Whether getters and setters for properties should be generated if missing.

    generateGettersSetters = true

)

public class User {

...

}

数据模型中field的属性介绍


@Id数据模型的主键

@NotNull数据非空

@Index主键约束

@Entity

public class User {

    @Id private Long id;

    @Index(unique = true)

    private String name;

}

数据模型创建完成之后操作


编译当前项目,Idea会在bin目录文件为我们自动创建DaoMaster,DaoSission,XXXDao

    DaoMaster:拥有数据库对象,可以对数据库中表有增删方法。

    DaoSission:Daos的管理工具类

    XXXDao:数据库模型,类似表,对表进行增、删、改、查 。

你可能感兴趣的:(GreenDao总结)