Room的三个注解:
@Entity:@Entity用来注解实体类,其代表的是一张数据库表,通常情况下@Entity注解中我们传入了一个参数 tableName用来指定表的名称,如果不传默认类名为表名。
(1)@PrimaryKey注解用来标注表的主键,并且使用autoGenerate = true 来指定了主键自增长。
(2)@ColumnInfo注解用来标注表对应的列的信息比如表名、默认值等等。
(3)@Ignore 注解顾名思义就是忽略这个字段,使用了这个注解的字段将不会在数据库中生成对应的列信息。也可以使用@Entity注解中的 ignoredColumns 参数来指定,效果是一样的。
@Dao:@Dao用来注解一个接口或者抽象方法,该类的作用是提供访问数据库的方法。即通过
@Query、查询
@Insert、插入
@Delete、删除
@Update,更新
来执行数据库的增删改查操作。
@Database:@Database用来注解类,并且注解的类必须是继承自RoomDatabase的抽象类。该类主要作用是创建数据库和创建Daos(data access objects,数据访问对象)。