# Dao

# Dao

Artifact:[androidx.room:room-common](https://developer.android.com/jetpack/androidx/releases/room)  
[View Source](https://cs.android.com/search?q=file:androidx/room/Dao.kt+class:androidx.room.Dao)  
Added in[2.0.0](https://developer.android.com/jetpack/androidx/releases/room#2.0.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/room/Dao "View this page in Java")
Common/AllAndroid/JVMNative/C/iOSJavaScript
  - Cmn  

  ```
  @Target(allowedTargets = [AnnotationTarget.CLASS])
  @Retention(value = AnnotationRetention.BINARY)
  annotation Dao
  ```

*** ** * ** ***

Marks the class as a Data Access Object.

Data Access Objects are the main classes where you define your database interactions. They can include a variety of query methods.

The class marked with`@Dao`should either be an interface or an abstract class. At compile time, Room will generate an implementation of this class when it is referenced by a[Database](https://developer.android.com/reference/kotlin/androidx/room/Database).

An abstract`@Dao`class can optionally have a constructor that takes a[Database](https://developer.android.com/reference/kotlin/androidx/room/Database)as its only parameter.

It is recommended to have multiple`Dao`classes in your codebase depending on the tables they touch.  

|                                   See also                                    |
|-------------------------------------------------------------------------------|---|
| [Query](https://developer.android.com/reference/kotlin/androidx/room/Query)   |   |
| [Delete](https://developer.android.com/reference/kotlin/androidx/room/Delete) |   |
| [Insert](https://developer.android.com/reference/kotlin/androidx/room/Insert) |   |

## Summary

|                              ### Public constructors                              |
|-----------------------------------------------------------------------------------|-----|
| [Dao](https://developer.android.com/reference/kotlin/androidx/room/Dao#Dao())`()` | Cmn |

## Public constructors

### Dao

Cmn  

```
Dao()
```