W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
HarmonyOS 對(duì)象關(guān)系映射(Object Relational Mapping,ORM)數(shù)據(jù)庫(kù)是一款基于 SQLite 的數(shù)據(jù)庫(kù)框架,屏蔽了底層 SQLite 數(shù)據(jù)庫(kù)的 SQL 操作,針對(duì)實(shí)體和關(guān)系提供了增刪改查等一系列的面向?qū)ο蠼涌?。?yīng)用開(kāi)發(fā)者不必再去編寫復(fù)雜的 SQL 語(yǔ)句, 以操作對(duì)象的形式來(lái)操作數(shù)據(jù)庫(kù),提升效率的同時(shí)也能聚焦于業(yè)務(wù)開(kāi)發(fā)。
:
數(shù)據(jù)庫(kù)中是用來(lái)代表數(shù)據(jù)實(shí)體的性質(zhì)、特征或者數(shù)據(jù)實(shí)體之間關(guān)系的詞項(xiàng),主要用來(lái)定義數(shù)據(jù)庫(kù)的操作條件。對(duì)象關(guān)系映射數(shù)據(jù)庫(kù)將 SQLite 數(shù)據(jù)庫(kù)中的謂詞封裝成了接口方法供開(kāi)發(fā)者調(diào)用。開(kāi)發(fā)者通過(guò)對(duì)象數(shù)據(jù)操作接口,可以訪問(wèn)到應(yīng)用持久化的關(guān)系型數(shù)據(jù)。
通過(guò)將實(shí)例對(duì)象映射到關(guān)系上,實(shí)現(xiàn)使用操作實(shí)例對(duì)象的語(yǔ)法,來(lái)操作關(guān)系型數(shù)據(jù)庫(kù)。它是在 SQLite 數(shù)據(jù)庫(kù)的基礎(chǔ)上提供的一個(gè)抽象層。
一款輕型的數(shù)據(jù)庫(kù),是遵守 ACID 的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。
對(duì)象關(guān)系映射數(shù)據(jù)庫(kù)操作是基于關(guān)系型數(shù)據(jù)庫(kù)操作接口完成的,實(shí)際是在關(guān)系型數(shù)據(jù)庫(kù)操作的基礎(chǔ)上又實(shí)現(xiàn)了對(duì)象關(guān)系映射等特性。因此對(duì)象關(guān)系映射數(shù)據(jù)庫(kù)跟關(guān)系型數(shù)據(jù)庫(kù)一樣,都使用 SQLite 作為持久化引擎,底層使用的是同一套數(shù)據(jù)庫(kù)連接池和數(shù)據(jù)庫(kù)連接機(jī)制。
使用對(duì)象關(guān)系映射數(shù)據(jù)庫(kù)的開(kāi)發(fā)者需要先配置實(shí)體模型與關(guān)系映射文件。應(yīng)用數(shù)據(jù)管理框架提供的類生成工具會(huì)解析這些文件,生成數(shù)據(jù)庫(kù)幫助類,這樣應(yīng)用數(shù)據(jù)管理框架就能在運(yùn)行時(shí),根據(jù)開(kāi)發(fā)者的配置創(chuàng)建好數(shù)據(jù)庫(kù),并在存儲(chǔ)過(guò)程中自動(dòng)完成對(duì)象關(guān)系映射。開(kāi)發(fā)者再通過(guò)對(duì)象數(shù)據(jù)操作接口,如 OrmContext 接口和謂詞接口等操作持久化數(shù)據(jù)庫(kù)。
對(duì)象數(shù)據(jù)操作接口提供一組基于對(duì)象映射的數(shù)據(jù)操作接口,實(shí)現(xiàn)了基于 SQL 的關(guān)系模型數(shù)據(jù)到對(duì)象的映射,讓用戶不需要再和復(fù)雜的 SQL 語(yǔ)句打交道,只需簡(jiǎn)單地操作實(shí)體對(duì)象的屬性和方法。對(duì)象數(shù)據(jù)操作接口支持對(duì)象的增刪改查操作,同時(shí)支持事務(wù)操作等。
圖1 對(duì)象關(guān)系映射數(shù)據(jù)庫(kù)運(yùn)作機(jī)制
HarmonyOS 對(duì)象關(guān)系映射數(shù)據(jù)庫(kù)是建立在 HarmonyOS 關(guān)系型數(shù)據(jù)庫(kù)的基礎(chǔ)之上的,所以關(guān)系型數(shù)據(jù)庫(kù)的一些約束與限制請(qǐng)參考約束與限制。
此外當(dāng)開(kāi)發(fā)者建立實(shí)體對(duì)象類時(shí),對(duì)象屬性的類型可以在下表的類型中選擇。不支持使用自定義類型。
類型名稱 | 描述 | 初始值 |
---|---|---|
Integer | 封裝整型 | null |
int | 整型 | 0 |
Long | 封裝長(zhǎng)整型 | null |
long | 長(zhǎng)整型 | 0L |
Double | 封裝雙精度浮點(diǎn)型 | null |
double | 雙精度浮點(diǎn)型 | 0 |
Float | 封裝單精度浮點(diǎn)型 | null |
float | 單精度浮點(diǎn)型 | 0 |
Short | 封裝短整型 | null |
short | 短整型 | 0 |
String | 字符串型 | null |
Boolean | 封裝布爾型 | null |
boolean | 布爾型 | 0 |
Byte | 封裝字節(jié)型 | null |
byte | 字節(jié)型 | 0 |
Character | 封裝字符型 | null |
char | 字符型 | ' ' |
Date | 日期類 | null |
Time | 時(shí)間類 | null |
Timestamp | 時(shí)間戳類 | null |
Calendar | 日歷類 | null |
Blob | 二進(jìn)制大對(duì)象 | null |
Clob | 字符大對(duì)象 | null |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: