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...