[kotlin] Room 라이브러리의 주요 컴포넌트
Room 라이브러리는 안드로이드 앱에서 SQLite 데이터베이스를 쉽게 다룰 수 있도록 도와주는 컴포넌트입니다. Room 라이브러리에는 다음과 같은 주요 컴포넌트가 있습니다.
1. Entity
Entity는 데이터베이스의 테이블을 나타내는 클래스입니다. 이 클래스는 데이터베이스의 각 테이블에 대한 스키마를 정의합니다.
예시:
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String
)
2. DAO (Data Access Object)
DAO는 데이터베이스에 액세스하기 위한 메서드를 제공하는 인터페이스입니다. Room은 이 인터페이스를 구현하여 데이터베이스 작업을 처리합니다.
예시:
@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAll(): List<User>
@Insert
fun insert(user: User)
@Delete
fun delete(user: User)
}
3. Database
Database는 데이터베이스의 인스턴스를 나타내는 클래스입니다. 이 클래스는 데이터베이스와 관련된 설정을 정의하고, 앱에서 사용할 데이터베이스의 인스턴스를 제공합니다.
예시:
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
Room 라이브러리를 사용하면 이러한 주요 컴포넌트들을 활용하여 안드로이드 앱에서 간편하게 SQLite 데이터베이스를 다룰 수 있습니다.