1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| //实体类,每个字段都是数据库中的一列 @Entity(tableName = "article") data class ArticleDetial( @PrimaryKey(autoGenerate = true) val id : Int, val author: String, val title: String, val content: String)
//Dao接口 操作数据库的主要接口 @Dao interface ArticleDao { @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertArticle(article : ArticleDetial)
@Delete() fun deleteArticle(article:ArticleDetial)
@Query("DELETE FROM article") fun deleteAllArticles()
@Query("SELECT * FROM article ORDER BY id DESC") fun queryArticle(): Single<List<ArticleDetial>>
@Query("SELECT * FROM article WHERE id IN (:range)") fun queryRange(range:IntArray):Flowable<List<ArticleDetial>> }
//数据库S,为应用创建数据库 @Database(entities = {ArticleDetial.class},version=1) public abstract class AppDatabase extends RoomDatabase{ public abstract ArticleDao articleDao(); }
val db : AppDatabase = Room.databaseBuilder(context, AppDatabase::class.java, "articles").build() 创建数据库
|