当前位置: 首页 > news >正文

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

一、准备云数据库

        有两种方法,分别是云侧与端侧,推荐使用AGC网页段

        云侧

        (1)新增存储区   

                存储区内部包含多张表,每张表里包含具体的数据类型,且存储区可以把测试环境的数据和线上的数据区分开来

                        点击新增,输入存储区的名称,点击确定

        (2)新建对象类型(表)

                在数据页面上点击新增

                添加字段,选择类型,是否为主键 ,是否非空,是否加密,是否敏感,以及默认值 

                添加索引名,及其字段和排序顺序 

                确定数据权限,点击确定

         (3)添加对象数据

                在数据页点击添加,选择存储区名称和数据类型后添加值后,点击确定

二、端侧调用 

        (1)前提

                1、添加依赖

                在oh-package.json5中添加依赖

"dependencies": {        

         "@hw-agconnect/cloud": "^1.0.1",        

         "@hw-agconnect/hmcore": "^1.0.1",        

         "@hw-agconnect/auth-component": "^1.0.1"

}

                2、下载AGC配置文件

                在AGC的项目设置中找到【agconnect-services.json】文件,下载下来,放置在Dev Eco Studio的【entry\src\main\resources\rawfile】目录下,即配置成功

                3、初始化AGC连接器

                在【src/main/ets/entryability/EntryAbility.ets】中进行初始化 

//初始化项目
let input = await this.context.resourceManager.getRawFileContent('agconnect-services.json')
let jsonString = util.TextDecoder.create('utf-8', { ignoreBOM: true }).decodeWithStream(input, { stream: false })
initialize(this.context, JSON.parse(jsonString));

        (2)建立模型

                选择数据类型后点击导出

                选择js格式,客户端的使用场景,点击确定 

 

                放置在Dev Eco Studio的ets目录下,新建model目录,将下载下来的js文件放置在此

        (3)导出schema

                选择数据类型后点击导出

                选择json格式,点击确定 

                将下载下来的json文件,放置在【src/main/resources/rawfile/scheme.json】中,并修改文件名为scheme.son

 

        (4)初始化database

@State database: Database | null = null
aboutToAppear() {this.database = cloud.database({zoneName: "test", //存储区名字objectTypeInfo: scheme  //scheme.json文件中的信息,需要导入})
}

        (5)查询

this.medalList = await this.database.collection(t_medal)  //选择表.query()  //查询.orderByAsc("id") //按什么排序.get()  //获取

        (6)新增

const new_medal = new t_medal()
//设置属性
await this.database.collection(t_medal).upsert(new_medal)

        (7)修改

await this.database.collection(t_medal).upsert(update_medal)

        (6)删除

await this.database.collection(t_medal).delete(medal)
http://www.dtcms.com/a/315238.html

相关文章:

  • Qt 自动无法加载数据库为空
  • 知识管理中的人工智能:概述、主要功能和管理工具
  • 专访 Giants Protocol 创始人:新加坡主权基金正式押注进军 RWA
  • 深入理解 mmap:原理、用法与实战全解析
  • Linux 进程间通信底层原理(1):匿名与命令管道
  • LLM Prompt与开源模型资源(4)提示词工程进阶指南
  • Node.js高并发接口下的事件循环卡顿问题与异步解耦优化方案
  • 抛出自定义异常
  • 普及冲奖——贪心补题报告
  • MySQL详解
  • Docker 和Docker-compose常用命令
  • STM32标准库的工程创建
  • 推荐广告搜索三种业务的区别
  • 非机动车乱停放识别准确率↑37%:陌讯多特征融合算法实战解析
  • 04-Chapter02-Example01
  • 【cooragent多智能体】各个单智能体的输入与输出(实际案例)
  • Jmeter进阶(笔记)
  • 进程间通信:管道与共享内存
  • 亚马逊广告进阶:如何选择提曝光还是控曝光
  • 【C++】石头剪刀布游戏
  • Makefile文件写法模板
  • 刷题记录0804
  • app-1
  • 1行JS实现无限滚动加载(Intersection Observer版)
  • vcpkg在vs/vscode下用法
  • 南水北调中线工程图件 shp数据
  • 飞算 JavaAI 操作全流程体验:一次面向纯 Java 项目的智能提效之旅
  • 【无标题】标准 I/O 中的一些函数,按功能分类说明其用法和特点
  • JavaScript中的作用域、闭包、定时器 由浅入深
  • idea添加gitlab访问令牌