1.关于room
room是google官方开发的对象关系映射(ORM)库框架,采用注解的方式,让你访问数据库更加稳健,提升数据库性能。
2.导入room
implementation "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
3.实现数据库操作的步骤
1. 必须先创建一个需要映射的实体类,用@Entity进行注解
@Entity
public class Anime {
/**
* 动漫名
* 如果是字符串做主键,记得加@NonNull,不然会报错
*/
@NonNull
@PrimaryKey
private String name;
/**
* 动漫类型
*/
private String type;
/**
* 放送时间
*/
private String playDate;
/**
* 集数
*/
private int episode;
getter、setter省略...
}
2. 创建一个操作实体类的dao接口,用@Dao进行注解
@Dao
public interface AnimeDao {
@Query("SELECT * FROM anime")
List<Anime> getAllAnime(); //加载所有动漫数据
@Query("SELECT * FROM anime WHERE name = :name")
Anime loadAnimeByName(String name); //根据名字加载动漫
@Insert
void insertOneAnime(Anime anime); //插入一条动漫信息
@Insert
void insertMultiAnimes(Anime... animes); //插入多条动漫信息
@Update(onConflict = OnConflictStrategy.REPLACE)
int updateUsers(Anime... animes); //更新动漫信息,当有冲突时则进行替代
@Delete
void deleteA