Room資料庫使用

2021-09-25 13:16:52 字數 2839 閱讀 7972

1.新增依賴:

implementation 'android.arch.persistence.room:runtime:1.0.0'

annotationprocessor 'android.arch.persistence.room:compiler:1.0.0'

2.建立entity實體類:

每個entity實體物件都會對映為表中的某一行

@entity

(tablename =

"student"

)//使用entity註解定義表名為student

public

class

student

@ignore

//其他構造方法要新增@ignore註解

public

user

(int uid)

public

intgetuid()

public

void

setuid

(int uid)..

.}

3.建立dao介面:
@dao

public

inte***ce

studentdao

insert, update, delete可以傳入多種不同的引數。例如:

@insert

void

insert

(student.

.. students)

;@insert

void

insert

(student student)

;@insert

void

insert

(list

studentlists)

;

query也可以返回多種不同的型別。

@query

("select * from student"

)list

getallstudent()

;@query

("select * from student where id=:id"

)user getstudent

(int id)

;@query

("select * from student"

)cursor getstudentcursor()

;@query

("select * from user where age=:age"

)list

getstudentbyage

(int age)

;

4.建立資料庫:
@database

(entities =

, version =

1,exportschema =

false

)public

abstract

class

studentdatabase

extends

roomdatabase

return instance;

}private

static studentdatabase create

(final context context)

public

abstract userdao getuserdao()

;}

5.使用資料庫:

必須在後台執行緒中使用資料庫,否則會報錯

student student =

newstudent()

;student.

setname

("tom");

student.

setage(18

);userdatabase

.getinstance

(context)

.getuserdao()

.insert

(student)

;

list

allusers = userdatabase

.getinstance

(context)

.getuserdao()

.getallstudents()

;

6.資料庫遷移:

1.在student實體類中新增乙個字段:

private

int grade;

2.在student實體類中新增乙個字段:

@database

(entities =

, version =

2, exportschema =

false

)public

abstract

class

studentdatabase

extends

roomdatabase

3.建立乙個migration物件,在資料庫中新增grade列

static

final migration migration_1_2 =

newmigration(1

,2)}

;

4.在資料庫物件建立時候新增該migration物件

databasebuilder((

),class

,"roomdemo-database").

addmigrations

.build()

;

Room使用介紹

在2017年google io大會上推出的官方資料框框架,其實際上就是對sqlite做了一層封裝。基本原理是通過編譯期註解,根據你配置的表名和表字段生成對應的 減少開發者的工作量。1 新增room依賴dependencies注意,如果你是將room封裝在module裡面,然後再將module引入到主...

簡單使用資料庫資料庫

查詢 注釋 查詢公式 select 欄位名字1 別名,欄位名字2 as 別名.from 表名 執行順序 from select確定結果集 查詢dept表中的所有資訊 select from dept 查詢雇員表中所有員工的員工編號,員工姓名,上級編號 要查詢的資料 empno,ename,mgr 條...

資料庫使用

資料庫 一種技術,以關係型模型的方式,來儲存資料的倉庫 oracle db2 sqlserver mysql 系統庫 使用者庫 建立 create database 資料庫 識別符號可以為 數字符號或下劃線 刪除 drop database 資料庫 使用 use 資料庫 tinyint 1位元組 0...