鸿蒙 HarmonyOS NEXT端云一体化开发-云数据库篇

一、概述

云数据库是一款基于对象模型的数据库,采用存储区、对象类型和对象三级结构。

数据模型

  • 存储区
存储区是一个独立的数据存储区域,多个数据存储区之间相互独立,每个存储区拥有完全相同的对象类型定义
--类似于关系型数据库中的database
  • 对象类型
用户定义存储对象的集合,不同的对象类型对应不同的数据结构
--类似于关系型数据库中的表
  • 对象
对象是云数据库的基本操作单元,每一个对象,都是一条完整的数据记录。
--类似于关系型数据库中的一条记录

角色和权限

角色
World所有人
Authenticated 已认证
Creator 创建者
Administrator管理者
权限:Read(查询)、upsert(增和改)、Delete(删)

二、初始化云数据库-AGC网站版本

创建存储区

步骤一:开发AGC网站,进入到我的项目中,左侧菜单选择数据库

image.png

步骤二:选择存储区》新增》输入存储区名称,点击确定后,等待进度条加载完毕

image.png
image.png

创建对象类型

步骤一:切换到数据类型并点击新增

image.png

步骤二:输入对象类型名后,点击下一步

image.png

步骤三:输入需要的字段,设置主键后,点击下一步

image.png

步骤四:添加索引并设置升序后,点击下一步

image.png

步骤五:设置数据权限(根据需要自行设置)>默认 》点击确定

image.png
image.png

创建对象数据

切换到数据并点击新增

image.png

步骤二:选择t_test对象类型,添加数据后,点击确定

image.png

步骤三(查询数据):页面选择存储区名称和对象类型后,点击查询

image.png

三、初始化云数据-本地项目版本

TODO:存储区直接使用之前创建的test

项目结构说明

对象类型存储在objecttype目录中
对象存储在datntry目录中

image.png

创建t_content对象类型

选中objecttype目录后右键>>new >> Cloud DB Object Type

image.png

输入t_content

image.png


{"objectTypeName": "t_content","fields": [{"fieldName": "id", "fieldType": "IntAutoIncrement", "notNull": true, "belongPrimaryKey": true},{"fieldName": "title", "fieldType": "String"}],"indexes": [{"indexName": "id", "indexList": [{"fieldName":"id","sortType":"ASC"}]}],"permissions": [{"role": "World", "rights": ["Read"]},{"role": "Authenticated", "rights": ["Read", "Upsert"]},{"role": "Creator", "rights": ["Read", "Upsert", "Delete"]},{"role": "Administrator", "rights": ["Read", "Upsert", "Delete"]}]
}

创建t_content对象

选中dataentry目录右键>new > cloud DB Data Entry

image.png

选择t_content

image.png

{"cloudDBZoneName": "test","objectTypeName": "t_content","objects": [{"id": 1,"title": "测试1"},{"id": 2,"title": "测试2"}]
}

更新

选中clouddb右键》Deploy Cloud DB

image.png
image.png
image.png

四、端侧调用云数据库

前提

TOOD:因为云数据库不支持使用Long类型,所以自行添加依赖

// 添加依赖"dependencies": {"@hw-agconnect/cloud": "^1.0.0","@hw-agconnect/hmcore": "^1.0.0","@hw-agconnect/auth-component": "^1.0.0","long": "5.2.1" }
// 初始化SDK
import {initialize} from  "@hw-agconnect/hmcore"
import jsonStr from "../../resources/rawfile/agconnect-services.json"async onCreate(){//   初始化try {initialize(this.context,jsonStr)}catch (e){console.error(JSON.stringify(e))}}

建立模型

TODO: 类似:数据表实体类
image.png

将生成的js文件放入到项目中

image.png

导出schema

TODO:导出选择JSON格式后,放入到项目中
image.png
image.png

初始化database并查询数据

import { Database } from '@hw-agconnect/cloud/src/main/ets/database/Database';
import cloud from '@hw-agconnect/cloud';
import info from "../../resources/rawfile/cloudFunction_2_cn.json"
import { t_test } from '../model/t_test';@Entry
@Componentstruct DataBasePage {@State message: string = 'Hello World';private database:Database |null= null// 接收数据集@State testList :t_test[] = []async aboutToAppear(): Promise<void> {// 初始化this.database= cloud.database({zoneName:'test',objectTypeInfo:info})this.testList = await this.database.collection(t_test).query().get()}build() {Column(){ForEach(this.testList,(test:t_test)=>{Row(){Text(`${test.getId()}`)Text(test.getName())}})}.width("100%").height("100%")}
}

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3281600.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

ECMA6Script学习笔记(五)

【摘要】 本文是对自己学习ES6的学习笔记回顾,后面是概要: 本文介绍了ES6中的对象创建和拷贝方法。对象创建方面&#xff0c;ES6通过class关键字支持了面向对象的语法糖&#xff0c;包括属性设置、getter和setter方法、构造器、静态方法以及私有属性的定义。同时&#xff0c;展…

专业做护眼灯的有哪些品牌?五款市面主流护眼灯专业测评

专业做护眼灯的有哪些品牌&#xff1f;市面上出现的品牌毫不夸张的说&#xff0c;真的算得上是琳琅满目&#xff0c;而且每一个品牌都在说自己的产品才是最值得的&#xff0c;这种情况下来&#xff0c;很多人一时之间根本就不知道要选择哪一款比较好。而且还有一些还会买到低劣…

vue基础知识总结(2)--- axios的使用

一.下载Vue3&#xff1a; 选择自己想要下载的项目文件夹&#xff0c;cmd回车打开命令栏&#xff0c;执行 &#xff1a; cnpm init vuelatest 然后等待一会就可以创建一个项目&#xff0c;并更改项目名&#xff1a; √ 请输入项目名称&#xff1a; ... vue-project 之后按照…

华为仓颉语言测试申请

1. 申请网址 HarmonyOS NEXT仓颉语言开发者预览版 Beta招募- 华为开发者联盟 点击立即报名登录华为账号 勾选选项 , 点击同意 按要求填写信息即可 2. 申请通过后官方会通过邮件的方式发送相关下载途径 , 根据文档进行下载即可 package Cangmain(): Int64 {println("你…

AI技术修复奥运珍贵历史影像,《永不失色的她》再现百年奥运女性光彩

Greatness of HER &#xff01; AI致敬 , 了不起的「她」。 7月25日&#xff0c;在国际奥委会和各方力量的支持下&#xff0c;阿里云以AI技术修复奥运珍贵历史影像&#xff0c;让百年奥运女性的伟大光彩被看见&#xff0c;并在巴黎推出《永不失色的她》全球首映礼。 国际奥委会…

Graph Contrastive Learning via Interventional View Generation

发表于:WWW24 推荐指数: #paper/⭐⭐ 框架与动机: 整体框架 动机: 如上四个: b.HLCL 生成随机增强视图,并分别用高通过滤器和低通过滤器过滤 c.生成同配异配视图,都用低通过滤器 d.生成同配视图异配视图,同配视图用低通过滤器,异配视图用高通过滤器 通过图d,我们可以得出:d&g…

基于Material studio拉伸-断裂过程的Perl脚本

在材料科学的研究中&#xff0c;拉伸-断裂过程一直是科学家们探索的焦点。这一过程涉及复杂的力学行为和材料内部微观结构的变化&#xff0c;对于理解材料的性能至关重要。然而&#xff0c;传统的实验方法不仅耗时耗力&#xff0c;而且难以捕捉到微观尺度上的所有细节。 为了满…

网站如何实现HTTPS访问

要实现网站通过HTTPS协议访问&#xff0c;主要依赖于为网站部署SSL/TLS证书。 SSL&#xff08;Secure Sockets Layer&#xff09;是用于在互联网上加密数据传输的安全协议。部署了SSL证书之后&#xff0c;网站就可以通过HTTPS&#xff08;超文本传输安全协议&#xff09;来提供…

C# Unity 面向对象补全计划 之 初识继承方法与多态

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列旨在通过补全学习之后&#xff0c;给出任意类图都能实现并做到逻辑上严丝合缝 1.继承方法 C# & Unity 面向对象补全计划 之 继承&#xff08;字段与属性&…

Java真人版猫爪老鼠活动报名平台系统

&#x1f43e;“真人版猫爪老鼠活动报名平台系统”——趣味追逐&#xff0c;等你来战&#xff01;&#x1f42d; &#x1f431;【萌宠变主角&#xff0c;现实版趣味游戏】 厌倦了电子屏幕的虚拟游戏&#xff1f;来试试“真人版猫爪老鼠活动”吧&#xff01;在这个平台上&…

PHP进阶-CentOS7部署LNMP服务架构的项目

在开发和部署Web应用时&#xff0c;LNMP&#xff08;Linux、Nginx、MySQL、PHP&#xff09;的组合是非常常见的。这篇博客将介绍如何通过一个简单的脚本&#xff0c;在CentOS 7上部署LNMP&#xff0c;并将PHP项目自动部署到服务器上。这不仅可以节省大量的时间&#xff0c;还能…

一个接口未做超时处理,引发数据库hang了

前言 在代码开发过程中&#xff0c;你是否会经常遇到以下问题&#xff1f; 数据库连接被瞬间占用&#xff0c;出现性能瓶颈 系统资源被大量占用&#xff0c;出现锁等待或性能下降 事务日志大量增长 上述这些状况的出现可能是未提交事务引发的。该类事务开启后&#xff0c;…

什么是五力分析?5分钟带你了解它在企业财务经营中的应用与价值!

如今&#xff0c;随着全球化进程的不断加速&#xff0c;市场环境复杂多变&#xff0c;市场竞争日益激烈&#xff0c;财务经营已经成为了企业应对复杂市场环境、保持自身竞争力的关键。体系化的五力分析平台能够为企业提供一套全面的解决方案&#xff0c;帮助企业在盈利能力、偿…

【随机链表的复制】python刷题记录

R3-哈希表 参考k神题解 哈希表法&#xff1a; """ # Definition for a Node. class Node:def __init__(self, x: int, next: Node None, random: Node None):self.val int(x)self.next nextself.random random """class Solution:def copy…

Java红娘相亲交友平台系统源码小程序

&#x1f495;遇见真爱&#xff0c;从“红娘相亲交友平台系统”开始&#xff01;&#x1f46b; &#x1f339;【精准匹配&#xff0c;缘分不再擦肩而过】 还在为茫茫人海中找不到那个TA而烦恼吗&#xff1f;“红娘相亲交友平台系统”利用先进的大数据分析技术&#xff0c;根据…

电脑怎么压缩图片?6个简单实用的压缩方法分享(无损压缩)

电脑怎么压缩图片&#xff1f;面对电脑较大的图片&#xff0c;小编是建议大家进行压缩的。文件过大容易影响电脑存储空间&#xff0c;而且还不容易上传和传输。图片压缩有很多方法可以有效解决&#xff0c;简单几步就能将图片压缩变小&#xff0c;下面是相关的介绍&#xff0c;…

web期末大作业家乡-浙江

代码下载: https://pan.quark.cn/s/2e157769c4ad

android动态权限申请并告知权限申请的使用目的

随着工信部对APP的一系列整治&#xff0c;现在要求APP在申请相机、位置等敏感权限时需要向用户同步告知权限申请的使用目的。个大应用市场在APP上线审核中也会重点检查这项要求。 从Android 6.0开始&#xff0c;对于敏感权限的获取&#xff0c;APP需要调用系统提供的动态申请权…

借银行的贷款去还网贷,可以吗?

近日&#xff0c;有很多网友问我&#xff0c;他们申请的公积金贷款&#xff0c;能不能用这笔钱来还清信用卡和网贷&#xff0c;但又怕这么做会违法&#xff0c;或者银行会突然要求他提前还贷。 首先&#xff0c;放心&#xff0c;这么做不违法。但银行确实不太鼓励这么用贷款&am…

【扒模块】DFF

图 医学图像分割任务 代码 import torch import torch.nn as nnfrom timm.models.layers import DropPath # 论文&#xff1a;D-Net&#xff1a;具有动态特征融合的动态大核&#xff0c;用于体积医学图像分割&#xff08;3D图像任务&#xff09; # https://arxiv.org/abs/2403…