android中提供了sqlite資料庫進行資料的持久化 ,並提供了對應api訪問資料庫,而room框架提供了sqlite資料訪問抽象層,為高效的資料庫訪問層帶來便捷
谷歌官方強烈推薦使用room框架操作sqlite資料庫
首先在build.gradle
中新增必要依賴
dependencies
建立實體類user
,@entity
表示該類對應資料庫中的表,@columninfo
後面的name
屬性對應資料庫中的欄位名,並實現該實體類的getter
,setter
方法
@entity
public
class
user
public
void
setuid(int uid)
public string getfirstname()
public
void
setfirstname(string firstname)
public string getlastname()
public
void
setlastname(string lastname)
@override
public string tostring() ';}}
建立實體類對應的dao
層userdao
,完成user的增刪改查(crud
)介面定義,@dao
註解定義乙個dao層,引數賦值(傳遞)使用:clumn_name
進行賦值
@dao
public
inte***ce
userdao
@database(entities = , version = 1, exportschema = false)
public
abstract
class
extends
roomdatabase
new thread(new runnable()
}).start();
增加,也可以傳乙個user
陣列
for (int i = 0; i < 10; i++)
如果報以下錯誤,修改dao層的註解為@insert(onconflict = onconflictstrategy.replace)
android.database.sqlite.sqliteconstraintexception: unique constraint failed: user.uid (code 1555 sqlite_constraint_primarykey)
查詢所有資料
for (user user : db.userdao().getall())
other…
public
class
extends
private
static context context;
private
static
final string database_name = "shellhub";
private
@override
public
void
oncreate()
}).start();
}public
return db_instance;}}
持久層框架
1.spring data jpa實現動態查詢的兩種方法 criteria api 可移植。api並不依賴具體的資料庫,可以根據資料庫型別的不同生成對應資料庫型別的sql,所以其為可移植的。物件導向。criteria api是使用的是各種類和物件如criteriaquery predicate等構建...
持久層框架mybatis
本篇的中心內容,解決以下問題。持久層框架mybatis篇與mybatis plus使用 mybatis 是支援定製化 sql 儲存過程以及高階對映的優秀的持久層框架,其主要就完成 構建sqlsessionfactory過程 對映器的動態 sqlsession的4大物件 sql執行的過程 mybati...
python持久層框架 SQLAlchemy
軟體簡介 sqlalchemy 是乙個python 的sql 工具包以及資料庫物件對映框架。它包含整套企業級持久化模式,專門為高效和高效能的資料庫訪問。示例 from sqlalchemy import column,datetime,string,integer,foreignkey,func f...