Localdb

AppBaseDao

interface AppBaseDao<T>
@Entity(tableName = "STUDENT")
data class Student(
    @PrimaryKey var name: String 
    , var surname: String )

Method Overview

NameDescriptionReturn
queryData()query Local storage ตาม Raw query ที่เรากำหนดSingle< List< T > >
insertData()เป็นการเพิ่มข้อมูลใน table ของ Local storageCompletable
deleteData()เป็นการลบข้อมูลใน table ของ Local storageCompletable
updateData()เป็นการอัพเดทข้อมูลใน table ของ Local storageCompletable

Method Details

@RawQuery
fun queryData(query: SupportSQLiteQuery) : Single<List<T>>

query Local storage ตาม Raw query ที่เรากำหนด

Parameters

NameDescriptionType
queryquery ที่มี String query อยู่ภายในSupportSQLiteQuery

Returns

TypeDescription
Single< List< T > >Return Single โดยสามารถนำไปเปลี่ยน thread แล้ว return data ออกมาอีกทีได้
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertData(vararg data: T) : Completable

เป็นการเพิ่มข้อมูลใน table ของ Local storage โดยอ้างอิงกับ model ที่มีการผูก Entity ไว้ ถ้าข้อมูลที่จะเพิ่มมี Primarykey เดียวกับข้อมูลที่อยู่ใน table อยู่แล้ว ข้อมูลใหม่จะแทนที่ข้อมูลเก่าใน table ทันที

Parameters

NameDescriptionTypeDefault
dataข้อมูลที่จะเพิ่มเข้าไปใน tableT

Returns

TypeDescription
CompletableReturn Completable โดยสามารถนำไปเปลี่ยน thread ได้
@Delete
fun deleteData(vararg data: T) : Completable

เป็นการลบข้อมูลใน table ของ Local storage โดยระบบจะรู้ได้ว่าต้องไปลบที่ table ไหน เพราะถ้า model นั้นผูกกับ Entity ไหน จะไปลบที่ Entity นั้น

Parameters

NameDescriptionTypeDefault
dataข้อมูลที่จะลบใน tableT

Returns

TypeDescription
CompletableReturn Completable โดยสามารถนำไปเปลี่ยน thread ได้
@Update
fun updateData(vararg data: T) : Completable

เป็นการอัพเดทข้อมูลใน table ของ Local storage โดยระบบจะรู้ได้ว่าต้องไปอัพเดทที่ table ไหน เพราะถ้า model นั้นผูกกับ Entity ไหน จะไปอัพเดทที่ Entity นั้น

Parameters

NameDescriptionTypeDefault
dataข้อมูลที่จะอัพเดทใน tableT

Returns

TypeDescription
CompletableReturn Completable โดยสามารถนำไปเปลี่ยน thread ได้