昨天把實體做完後,今天就要來寫 SQL 語法啦
@Dao
@Dao
interface NoteDatabaseDao {
}
@Insert
,onConflict
的設定有三種,分別是
@Dao
interface NoteDatabaseDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insert(note: Note): Long
}
@Delete
,當然也可以用查詢的方式來寫刪除
@Dao
interface NoteDatabaseDao {
@Delete
suspend fun delete(note: Note)
}
@Query
,然後在刮號內寫 SQL 語法,例如查詢資料庫中的所有資料,用陣列的方式回傳
@Dao
interface NoteDatabaseDao {
@Query("SELECT * FROM table_name ORDER BY classId DESC")
suspend fun getAll(): List<Note>
}
@Update
,當然也可以用查詢的方式來寫修改
@Dao
interface NoteDatabaseDao {
@Update
suspend fun update(note: Note)
}
@Dao
interface NoteDatabaseDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insert(note: Note): Long
@Delete
suspend fun delete(note: Note
@Query("SELECT * FROM note_table ORDER BY classId DESC")
suspend fun getAll(): List<Note>
@Update
suspend fun update(note: Note)
}
= :key
get
後面傳入長整數的key
,@Query
的地方使用classId = :key
@Dao
interface NoteDatabaseDao {
@Query("SELECT * from note_table WHERE classId = :key")
suspend fun get(key: Long): 你的類?
}