SQLite 에서 ROOM 까지 (11) - ROOM 을 이용한 CRUD
이번 포스팅에서는 Room 을 이용한 CRUD 에 대해 알아보자.
CREATE(INSERT), READ(SELECT), UPDATE(UPDATE), DELETE(DELETE)
참고로, 지난 포스팅 내용은 하단과 같다.
- UI, DB 생성, CRUD, column 추가, DB 확인
[Android/Database] - SQLite 에서 ROOM 까지 (2) - UI 구성
[Android/Database] - SQLite 에서 ROOM 까지 (3) - SQLiteOpenHelper
[Android/Database] - SQLite 에서 ROOM 까지 (4) - SQLite 를 이용한 CRUD
[Android/Database] - SQLite 에서 ROOM 까지 (5) - SQLite 로 생성된 기존 DB 에 column 추가하기
[Android/Database] - SQLite 에서 ROOM 까지 (6) - DB 확인하기
- ROOM, ROOM 의 3구성요소 추가, Repository, ViewModel 추가, migation 설정
[Android/Database] - SQLite 에서 ROOM 까지 (7) - ROOM 이란?
[Android/Database] - SQLite 에서 ROOM 까지 (8) - ROOM 의 3 구성요소(Database, Entity, Dao) 추가하기
[Android/Database] - SQLite 에서 ROOM 까지 (10) - SQLite 에서 ROOM 으로 migration 설정하기
DB table
하단은 예제에 사용할 DB table 이다.
Field | Type | Property |
ID (StudentEntry._ID) |
INTEGER (not null) | primary key auto increment |
학년 (StudentEntry.GRADE) |
INTEGER (not null) | |
학번 (StudentEntry.NUMBER) |
INTEGER (not null) | |
이름 (StudentEntry.NAME) |
TEXT | |
나이 (StudentEntry.AGE) |
INTEGER (not null) |
Create (INSERT)
사용자 입력값을 DB 에 삽입.
Read (SELECT)
DB 전체를 query.
Update (UPDATE)
선택한 column 을 사용자 입력값으로 DB 갱신.
DAO 에 '@Insert(onConflict = OnConflictStrategy.REPLACE)' option 을 사용해 CREATE 과정과 동일
Delete (DELETE)
선택한 column 을 DB 에서 삭제.
Source code
https://github.com/parkho79/FromSQLiteToRoom_3