新聞中心
HarmonyOS 對(duì)象關(guān)系映射(Object Relational Mapping,ORM)數(shù)據(jù)庫是一款基于 SQLite 的數(shù)據(jù)庫框架,屏蔽了底層 SQLite 數(shù)據(jù)庫的 SQL 操作,針對(duì)實(shí)體和關(guān)系提供了增刪改查等一系列的面向?qū)ο蠼涌?。?yīng)用開發(fā)者不必再去編寫復(fù)雜的 SQL 語句, 以操作對(duì)象的形式來操作數(shù)據(jù)庫,提升效率的同時(shí)也能聚焦于業(yè)務(wù)開發(fā)。

專業(yè)領(lǐng)域包括成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、購物商城網(wǎng)站建設(shè)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。
基本概念
- 對(duì)象關(guān)系映射數(shù)據(jù)庫的三個(gè)主要組件
:
- 數(shù)據(jù)庫:被開發(fā)者用 @Database 注解,且繼承了 OrmDatabase 的類,對(duì)應(yīng)關(guān)系型數(shù)據(jù)庫。
- 實(shí)體對(duì)象:被開發(fā)者用 @Entity 注解,且繼承了 OrmObject 的類,對(duì)應(yīng)關(guān)系型數(shù)據(jù)庫中的表。
- 對(duì)象數(shù)據(jù)操作接口:包括數(shù)據(jù)庫操作的入口 OrmContext 類和謂詞接口(OrmPredicate)等。
- 謂詞
數(shù)據(jù)庫中是用來代表數(shù)據(jù)實(shí)體的性質(zhì)、特征或者數(shù)據(jù)實(shí)體之間關(guān)系的詞項(xiàng),主要用來定義數(shù)據(jù)庫的操作條件。對(duì)象關(guān)系映射數(shù)據(jù)庫將 SQLite 數(shù)據(jù)庫中的謂詞封裝成了接口方法供開發(fā)者調(diào)用。開發(fā)者通過對(duì)象數(shù)據(jù)操作接口,可以訪問到應(yīng)用持久化的關(guān)系型數(shù)據(jù)。
- 對(duì)象關(guān)系映射數(shù)據(jù)庫
通過將實(shí)例對(duì)象映射到關(guān)系上,實(shí)現(xiàn)使用操作實(shí)例對(duì)象的語法,來操作關(guān)系型數(shù)據(jù)庫。它是在 SQLite 數(shù)據(jù)庫的基礎(chǔ)上提供的一個(gè)抽象層。
- SQLite 數(shù)據(jù)庫
一款輕型的數(shù)據(jù)庫,是遵守 ACID 的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。
運(yùn)作機(jī)制
對(duì)象關(guān)系映射數(shù)據(jù)庫操作是基于關(guān)系型數(shù)據(jù)庫操作接口完成的,實(shí)際是在關(guān)系型數(shù)據(jù)庫操作的基礎(chǔ)上又實(shí)現(xiàn)了對(duì)象關(guān)系映射等特性。因此對(duì)象關(guān)系映射數(shù)據(jù)庫跟關(guān)系型數(shù)據(jù)庫一樣,都使用 SQLite 作為持久化引擎,底層使用的是同一套數(shù)據(jù)庫連接池和數(shù)據(jù)庫連接機(jī)制。
使用對(duì)象關(guān)系映射數(shù)據(jù)庫的開發(fā)者需要先配置實(shí)體模型與關(guān)系映射文件。應(yīng)用數(shù)據(jù)管理框架提供的類生成工具會(huì)解析這些文件,生成數(shù)據(jù)庫幫助類,這樣應(yīng)用數(shù)據(jù)管理框架就能在運(yùn)行時(shí),根據(jù)開發(fā)者的配置創(chuàng)建好數(shù)據(jù)庫,并在存儲(chǔ)過程中自動(dòng)完成對(duì)象關(guān)系映射。開發(fā)者再通過對(duì)象數(shù)據(jù)操作接口,如 OrmContext 接口和謂詞接口等操作持久化數(shù)據(jù)庫。
對(duì)象數(shù)據(jù)操作接口提供一組基于對(duì)象映射的數(shù)據(jù)操作接口,實(shí)現(xiàn)了基于 SQL 的關(guān)系模型數(shù)據(jù)到對(duì)象的映射,讓用戶不需要再和復(fù)雜的 SQL 語句打交道,只需簡(jiǎn)單地操作實(shí)體對(duì)象的屬性和方法。對(duì)象數(shù)據(jù)操作接口支持對(duì)象的增刪改查操作,同時(shí)支持事務(wù)操作等。
圖1 對(duì)象關(guān)系映射數(shù)據(jù)庫運(yùn)作機(jī)制
默認(rèn)配置
- 如果不指定數(shù)據(jù)庫的日志模式,那么系統(tǒng)默認(rèn)日志方式是 WAL(Write Ahead Log)模式。
- 如果不指定數(shù)據(jù)庫的落盤模式,那么系統(tǒng)默認(rèn)落盤方式是 FULL模式。
- HarmonyOS 數(shù)據(jù)庫使用的共享內(nèi)存默認(rèn)大小是 2MB。
約束與限制
HarmonyOS 對(duì)象關(guān)系映射數(shù)據(jù)庫是建立在 HarmonyOS 關(guān)系型數(shù)據(jù)庫的基礎(chǔ)之上的,所以關(guān)系型數(shù)據(jù)庫的一些約束與限制請(qǐng)參考約束與限制。
此外當(dāng)開發(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 |
當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS對(duì)象關(guān)系映射數(shù)據(jù)庫概述
文章網(wǎng)址:http://fisionsoft.com.cn/article/cdespds.html


咨詢
建站咨詢
