Membuat DAO

DAO (Data Access Object), DAO menspesifikasikan SQL query dengan method. Pada room persistence, terdapat annotation-annotation khusus yang digunakan untuk mengimplementasikan DAO, seperti contohnya @Insert. Untuk membuat DAO, harus didefinisikan sebagai interface atau abstract class.

Untuk mengimplementasikan DAO, silahkan ikuti langkah-langkah berikut:

  • Buatlah sebuah package dao pada project anda.
  • Buatlah interface dan beri nama dengan UserDao, dan jangan lupa untuk memberikan annotation @Dao untuk menandai bahwa ini adalah implementasi DAO dalam Room.
@Dao
public interface UserDao {

}
  • Pada interface UserDao definisikan method untuk melakukan operasi insert dengan annotation @Insert
@Insert
void insert(User... user);

Catatan: notasi tiga titik pada java adalah shortcut code untuk mendefinisikan bahwa method ini dapat menerima argumen array atau multiple argumen.

  • Pada aplikasi ini dibutuhkan proses login, alur proses login membutuhkan pengecekan data berdasarkan username. Jika data ditemukan baru diproses lebih lanjut dengan pencocokan password. Untuk mendefinisikan custom query pada room digunakan annotation @Query. Definisikan operasi query tersebut dengan kode berikut.
@Query("SELECT * FROM users WHERE username = :username LIMIT 1")
LiveData<User> getUserByUsername(String username);

Catatan: LiveData digunakan untuk mendapatkan data terbaru ketika terjadi perubahan. Referensi lebih lanjut silahkan dibaca pada dokumentasi Livedata. LiveData umumnya digunakan ketika bekerja dengan UI.

  • Buatlah interface NoteDao pada package dao.
  • Pada interface NoteDao definisikan operasi insert, update, delete dengan annotation @Insert, @Update, @Delete

  • Untuk mengambil semua data catatan dibutuhkan sebuah query. Definisikan query tersebut dengan kode berikut.

@Query("SELECT * FROM notes")
LiveData<List<Note>> getAll();

results matching ""

    No results matching ""