73.4 Data Access Objects
A Data Access Object provides a way to access the data stored within a SQLite database. A DAO is declared as a standard Kotlin interface with some additional annotations that map specific SQL statements to methods that may then be called by the repository.
The first step is to create the interface and declare it as a DAO using the @Dao annotation:
@Dao
interface CustomerDao {
}
Next, entries are added consisting of SQL statements and corresponding method names. The following declaration, for example, allows all of the rows in the customers table to be retrieved via a call to a method named getAllCustomers():
@Dao
interface CustomerDao {
@Query("SELECT * FROM customers")
fun getAllCustomers(): LiveData<List<Customer>>
}
Note that the getAllCustomers() method returns a List object containing a Customer entity object for each record retrieved from the database table. The...