Sobes.tech
Junior — Middle

Qual é o papel da anotação @Dao na biblioteca Room para Android?

sobes.tech IA

Resposta da IA

A anotação @Dao na biblioteca Room para Android indica uma interface ou classe abstrata que contém métodos para aceder à base de dados.

Papel do @Dao:

  • Define um conjunto de operações com a base de dados (inserções, atualizações, eliminações, consultas).
  • O Room gera automaticamente a implementação desses métodos durante a compilação.
  • Permite separar a lógica de acesso aos dados do restante do código da aplicação.

Exemplo:

@Dao
interface UserDao {
    @Query("SELECT * FROM users WHERE id = :userId")
    fun getUserById(userId: Int): User

    @Insert
    fun insertUser(user: User)
}

Assim, o @Dao serve para definir contratos de acesso aos dados, e o Room gera o código necessário para trabalhar com SQLite.