티스토리 뷰

728x90



이번 포스팅에서는 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 까지 (9) - Architecture Components 구성을 위한 Repository, ViewModel 추가하기

[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



728x90
댓글