Room 구성요소

  1. 데이터베이스 클래스 : 데이터베이스를 보유하고 앱의 영구 데이터와의 기본 연결을 위한 기본 엑세스 포인트 역할을 합니다.
  2. 데이터 항목 : 앱 데이터베이스의 테이블을 나타냅니다.
  3. 데이터 액세스 객체(DAO) : 앱이 데이터베이스의 데이터를 쿼리, 업데이트, 삽입, 삭제하는 데 사용할 수 있는 메서드를 제공합니다

Room 데이터베이스 구현 순서

1. 데이터 항목 구성

→ SQL 코드를 작성하지 않고도 ROOM 항목을 사용하여 데이터베이스 스키마를 정의할 수 있다.

ex)

@Entity //Room은 클래스 이름을 데이터베이스 테이블 이름으로 사용 (테이블 이름을 다르게하려면 괄호사용하여 tableName속성 설정)

data class User(

@PrimaryKey //Room항목은 상응하는 데이터베이스를 고유하게 식별하는 기본키를 정의해야 함

val uid:Int,

@ColumnInfo(name ="first_name")//열 이름을 필드이름으로 사용(이름을 달리 하려면 name속성 사용)

val firstName:String?,

@ColumnInfo(name ="last_name")

val lastName:String?

)