Sobes.tech
Back to questions
Junior — Middle
67

Можешь назвать ключевые компоненты библиотеки Room для работы с базой данных?

Companies where asked
X5 DigitalX5 Digital

Answer from AI

sobes.tech AI

Ключевые компоненты библиотеки Room:

  • Entity — класс, который описывает таблицу в базе данных. Каждое поле соответствует столбцу.
  • DAO (Data Access Object) — интерфейс с методами для доступа к данным (вставка, обновление, удаление, запросы).
  • Database — абстрактный класс, наследующий RoomDatabase, который связывает Entity и DAO, и предоставляет экземпляр базы.

Пример:

@Entity
data class User(
    @PrimaryKey val id: Int,
    val name: String
)

@Dao
interface UserDao {
    @Query("SELECT * FROM User")
    fun getAll(): List<User>

    @Insert
    fun insert(user: User)
}

@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}