[kotlin] DAO(Data Access Object) 인터페이스 정의하기

데이터베이스와의 상호작용을 단순화하고 추상화하기 위해 DAO(Data Access Object) 인터페이스를 정의하는 것은 안드로이드 앱 또는 다른 애플리케이션에서 흔히 사용됩니다. DAO 인터페이스는 데이터베이스 테이블과 관련된 CRUD(Create, Read, Update, Delete) 작업을 정의합니다.

1. DAO 인터페이스 생성

먼저, DAO 인터페이스를 생성합니다. DAO 인터페이스는 해당 데이터베이스 테이블에 연결된 엔터티 클래스에 대한 작업을 정의합니다. 아래는 Kotlin으로 작성된 간단한 DAO 인터페이스의 예시입니다.

interface UserDao {
    @Insert
    suspend fun insertUser(user: User)

    @Update
    suspend fun updateUser(user: User)

    @Delete
    suspend fun deleteUser(user: User)

    @Query("SELECT * FROM users")
    suspend fun getAllUsers(): List<User>
}

위의 코드에서 UserDao 인터페이스는 User 엔터티와 관련된 데이터베이스 작업을 정의하고 있습니다.

2. 주석을 활용한 쿼리 정의

@Query 어노테이션을 사용하여 데이터베이스 쿼리를 정의할 수 있습니다. 위의 예시에서는 “SELECT * FROM users” 쿼리를 정의하였습니다.

3. 주석을 활용한 CRUD 작업 정의

@Insert, @Update, @Delete 어노테이션을 사용하여 각각의 CRUD 작업을 정의할 수 있습니다. 위의 예시에서는 insertUser, updateUser, deleteUser 함수가 이에 해당합니다.

이처럼 DAO 인터페이스를 정의하면 데이터베이스와의 상호작용을 쉽게 관리할 수 있습니다.