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

鸿蒙项目云捐助第十五讲云数据库的初步使用

鸿蒙项目云捐助第十五讲云数据库的初步使用

在华为云技术使用中,前面使用了云函数,接下来看一下华为云技术中的另外一个技术云数据库的使用。

一、云数据库的创建

这里使用华为云数据库也需要登录到AppGallery Connect平台中,点击进入到之前创建的云项目myjuanproject的项目信息目录,在左侧会显示出“云数据库”的选项,点击左侧的“云数据库”选项,右侧点击“立即开通”按钮。也就是云数据使用也里需要在华为云中进行开通的。操作如下图所示。

开通后在云数据库界面中点击“新增”来创建一个应用的数据库,如下图所示。

这里可以先创建用户表, 实现用户的登录和注册功能。点击点击“新增”按钮后弹出的界面如下图所示。

在这个界面中输入应用数据库的名称,在登录和注册逻辑中需要一个数据表myuser,这里输入应用数据库的名称myuser,如下图所示。

点击下一步进入到字段设置的界面,这里的用户表myuser设置3个字段,一个是用户名username,一个是密码password,还有一个性别sex,加入性别可以在应用中根据性别决定不同的头像。具体字段设置如下图所示。

这里的username用户名设置为String字符串类型,这里的password密码设置为String字符串类型,这里的sex性别设置为Boolean布尔类型,当sex值为true表示男性,当sex值为false表示女性。同时需要设置主键,为了保证用户名不重复,username字段设置为主键和非空,相关的字段配置建立后,点击“下一步”进入到下一个页面。如下图所示。

这个页面中需要指定数据库表查询的索引,这里以主键的username建立索引,并指定用户索引的方式为ASC的升序排列。设置成功后,点击“下一步”进入到下一个页面,如下图所示。

这里进入操作用户表myuser的权限,为了保证每个用户都可以进行注册和登录,也就是对用户表增删改查的处理,这里把用户表myuser的权限设置为增删改查的全部权限,设置成功后“确定”即可。

这里才完成了华为云数据使用的第一步数据类型建立成功。

接下来进行华为云数据库第二步的操作建立云存储区。这里需要点击

“存储区”,如下图所示。

进入存储区的选项卡后,点击“新增”按钮用来建立存储区,这里点击“新增”按钮后出现的界面如下图所示。

这里输入名字为one的存储区,存储区与后面的开发有一定的关系,其表征了数据在服务器存储的分区。输入名称one后,直接确定即可。

这样也完成了华为云数据库的第二步操作。接下来进行华为云数据库的第三步操作,建立数据表中的数据,这里点击“数据”的选项卡。如下图所示。

进入到“数据”的选项卡后,从存储名称的下拉框中选择之前创建的存储区“One”,在对象类型的下拉框中选择之前创建的“myuser”数据表,然后点击“数据”的选项卡界面中最右边的“新增”按钮,出现的界面如下图所示。

这里可以输入当前数据表myuser的数据,输入其中的数据后直接“确定”即可,如下图所示。

这里输入了一条数据,用户名username为admin,密码password为123456,性别sex为true,表示男性。这样在对应的存储区,在对应的数据类型中存在了一条数据,这条数据可以点击“数据”选项卡中的查看得到结果。如下图所示。

操作到这里,我们华为云的云数据库界面操作宣告结束。操作结束后的界面如下所示。

云端界面操作结束后,在开发过程中,需要把创建的数据库相关内容导出到文件中。这里回到“对象类型”的选项卡,点击刚刚创建的对象类型myuser前面的复选框,然后点击“对象类型”的选项卡界面右侧的“导出”按钮。如下图所示。

点击“导出”按钮后在弹出的对话框中需要首先导出“js格式”,如下图所示。

这里先点击导出的格式是“js格式”,然后点击导出的场景为“客户端”,点击“确定”实现js格式文件的导出。

接下来还需要导出json格式的文件,继续点击“对象类型”的选项卡界面右侧的“导出”按钮。在弹出的界面中选择“json格式”,如下图所示。

这里点击“json格式”,然后点击“确定”即可。

二、华为云数据库的开发

之前已下载两种不同格式的文件,一个是json格式的华为云数据库文件,一个是js格式的华为云数据库客户端文件。需要把下载的文件在鸿蒙的项目中进行分配。如下图所示。

这里把导出的json文件改名为mytest.json,并且放在main主文件夹下的rawfile文件夹中,接下来还需要创建一个model文件夹,把下载的js格式的客户端文件拷贝到这里。如下图所示。

这里在main主文件夹下ets目录中新建一个model的文件夹,在model文件夹中存放之前华为云AppGallery Connect下载的myuser.js的js格式客户端文件。有了文件后,在之前开发云函数的组件MyComponent中引入json文件,如下图所示。

导入文件后,也就是导入了华为云数据库myuser的数据类型,根据类型就可以使用cloud.database方法连接远程华为云数据库,代码如下所示。

这里我们在MyComponent组件中添加一个按钮,按钮作用是测试云数据库的连接,点击后进行云数据库的定义,在定义中使用cloud.database方法,在cloud.database方法中也需要传入参数,一个参数是存储区zoneName,其值为one,一个参数是ObjectTypeInfo,也就是对象数据类型,其值为导入的MyUser对象。这样,代码中定义了数据库,相当于配置数据库成功,接下来需要对数据库进行连接和数据查询,这里再导入之前华为云平台导出的js格式的文件,如下图所示。

这里在导入用到了不同大小写的MyUser ,防止这种做法出现问题,这里把之前的MyUser改成MyUserInfo以区别不同的导入对象。如下图所示。

接下来完善华为云数据库连接查询的代码,如下图所示。

在代码中,通过定义的数据库database进行myuser的collection数据集的收集,其后跟上query()方法查询数据库的所有数据,最后get()方法取出查询结果。

在代码的最后输出result的结果,这里使用JSON.stringify进行输出结果的JSON数据化。

需要注意的是,代码中的数据库collection(myuser).query().get需要使用异步处理,不然得不到结果,这里在database.collection(myuser).query().get()语句前添加await异步处理,这样就需要在onClick点击事件中使用async的导步处理。代码修改如下图所示。

完成代码后,启动模拟器,再运行应用,在应用中的“测试云数据库的连接”按钮上进行点击,在DevEco Studio编辑器的Log日志中可以看到输出的查询云数据库结果,如下图所示。

华为云数据库和云函数的使用测试成功后,就可以把鸿蒙云捐助项目变成与华为云融合的云捐助项目,后续会带来云数据库登录注册及捐赠功能的实现,欢迎关注。

相关文章:

鸿蒙项目云捐助第十五讲云数据库的初步使用

鸿蒙项目云捐助第十五讲云数据库的初步使用 在华为云技术使用中,前面使用了云函数,接下来看一下华为云技术中的另外一个技术云数据库的使用。 一、云数据库的创建 这里使用华为云数据库也需要登录到AppGallery Connect平台中,点击进入到之…...

如何构建一个可信的联邦RAG系统。

今天给大家分享一篇论文。 题目是:C-RAG:如何构建一个可信的联邦检索RAG系统。 论文链接:https://arxiv.org/abs/2412.13163 论文概述 尽管大型语言模型 (LLM) 在各种应用中展现出令人印象深刻的能力,但它们仍然存在可信度问题&#xff…...

【深度学习之三】FPN与PAN网络详解

FPN与PAN:深度学习中的特征金字塔网络与路径聚合网络 在深度学习的领域里,特征金字塔网络(Feature Pyramid Networks,简称FPN) 和 路径聚合网络(Path Aggregation Network,简称PAN)…...

Qt学习笔记第71到80讲

第71讲 事件过滤器的方式实现滚轮按键放大 事件体系(事件派发 -> 事件过滤->事件分发->事件处理)中,程序员主要操作的是事件分发与事件处理。我们之前已经通过继承QTextEdit来重写事件实现Ctrl加滚轮的检测,还有一种处理…...

以管理员身份运行

同时按下Ctrl Shift Esc键打开任务管理器,在任务管理器的左上角,点击“文件”菜单,在下拉菜单中选择“新建任务” 在弹出的对话框中,输入您想要运行的程序的名称。如果您不确定程序的确切名称,可以点击“浏览”来找到…...

用 Python 实现井字棋游戏

一、引言 井字棋(Tic-Tac-Toe)是一款经典的两人棋类游戏。在这个游戏中,玩家轮流在 3x3 的棋盘上放置自己的标记,通常是 “X” 和 “O”,第一个在棋盘上连成一线(横、竖或斜)的玩家即为获胜者。…...

06 实现自定义AXI DMA驱动

为什么要实现自定义AXI DMA驱动 ZYNQ 的 AXI DMA 在 Direct Register DMA (即 Simple DMA)模式下可以通过 AXIS 总线的 tlast 提前结束传输,同时还可以在 BUFFLEN 寄存器中读取到实际传输的字节数,但是通过 Linux 的 DMA 驱动框架…...

SpringBoot集成ENC对配置文件进行加密

在线MD5生成工具 配置文件加密&#xff0c;集成ENC 引入POM依赖 <!-- ENC配置文件加密 --><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.2</ver…...

初学stm32 ——— 串口通信

目录 STM32的串口通信接口 UART异步通信方式特点&#xff1a; 串口通信过程 STM32串口异步通信需要定义的参数: USART框图&#xff1a; 常用的串口相关寄存器 串口操作相关库函数 ​编辑 串口配置的一般步骤 STM32的串口通信接口 UART&#xff1a;通用异步收发器USART&am…...

qwt 多Y轴 项目效果

项目场景&#xff1a; 在做一个半导体上位机软件项目实践中&#xff0c;需要做一个曲线展示和分析界面&#xff0c;上位机主题是用qt框架来开发&#xff0c;考虑到目前qt框架的两种图标库&#xff0c;一个是qcustomplot 一个是 qwt。之所以采用qwt &#xff0c;根本原因是因为…...

Java中通过ArrayList扩展数组

在Java中&#xff0c;ArrayList 是一个动态数组实现&#xff0c;能够根据需要自动调整其大小。与传统的数组不同&#xff0c;ArrayList 不需要预先指定大小&#xff0c;并且提供了许多方便的方法来操作集合中的元素。下面将详细介绍如何使用 ArrayList 进行数组的扩展&#xff…...

Java:链接redis报错:NoSuchElementException: Unable to validate object

目录 前言报错信息排查1、确认redis密码设置是否有效2、确认程序配置文件&#xff0c;是否配置了正确的redis登录密码3、检测是否是redis持久化的问题4、确认程序读取到的redis密码没有乱码 原因解决 前言 一个已经上线的项目&#xff0c;生产环境的redis居然没有设置密码&…...

datasets库之load_dataset

目录 问题解决方案 问题 使用peft用lora微调blip2时用到了一个足球数据集&#xff0c;如下&#xff1a; 原始代码如下 dataset load_dataset("ybelkada/football-dataset", split"train")然而这需要梯子才能下载&#xff0c;服务器较难用VPN所以使用au…...

React Router常见面试题目

1. React Router 支持哪几种模式? React Router 支持以下两种主要模式&#xff1a; BrowserRouter (基于 HTML5 History API 的模式) 原理&#xff1a; 利用 history.pushState 和 history.replaceState 操作浏览器历史栈&#xff0c;无需重新加载页面。URL 看起来像传统 URL…...

sequelize-cli 封装登录接口

node ORM &#xff08;sequelize&#xff09;使用、查询、验证及express 基础框架的搭建及实例的使用 一、思路 第一步&#xff1a;肯定是用户要向接口传递邮箱、账号和密码了。 第二步&#xff1a;接口这边&#xff0c;先要验证。因为这里不是往数据库里存储数据&#xff0c;…...

使用 Elasticsearch 查询和数据同步的实现方法

在开发过程中&#xff0c;将数据从数据库同步到 Elasticsearch (ES) 是常见的需求之一。本文将重点介绍如何通过 Python 脚本将数据库中的数据插入或更新到 Elasticsearch&#xff0c;并基于多字段的唯一性来判断是否执行插入或更新操作。此外&#xff0c;我们还将深入探讨如何…...

QTday1作业设置简易登录界面

代码 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//创建一个标签QLabel *lab1 new QLabel(this);//重新设置大小lab1->resize(1925,1080);//用动图类QMovie实例化一个动图QMovie *mv new QMovie("C:\\Users\\MR\\Deskto…...

RC低通滤波器和LR低通滤波器,LC低通滤波器该怎么选择

这是RC低通滤波器利用电容两端的电压不能突变可以滤除高频噪声 这是LR低通滤波器利用流过电感的电流不能突变也可以滤除高频噪声 那么问题来了两个低通滤波器&#xff0c;该怎么选择呢还是随便选一个就好&#xff1f; RC电路&#xff1a;因为电流电阻会发热耗能&#xff0c;所…...

芯旺微KF32A156芯片ADC配置

使用芯旺微KF32A156的芯片做预研项目&#xff0c;使用了ADC0外设&#xff0c;根据芯片规格书中的描述进行了配置&#xff1a; /*** brief: Configure ADC.** param[in] none.* param[in] none.* param[out] None* retval: None*/ static void adc_peripheral_init(void) …...

【Token】校验、会话技术、登录请求、拦截器【期末实训】实战项目学生和班级管理系统\Day15-后端Web实战(登录认证)\讲义

登录认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登录&#xff0c;就直接访问到了Tlias智能学习辅助系统的后台。 这是不安全的&#xff0c;所以我们今天的主题就是登录认证。 最终我们要实现…...

灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀

灵毓秀-牧神-造相Z-Turbo进阶玩法&#xff1a;结合提示词生成不同风格的灵毓秀 1. 认识灵毓秀-牧神-造相Z-Turbo 1.1 模型特点概述 灵毓秀-牧神-造相Z-Turbo是一款基于Xinference部署的专用文生图模型&#xff0c;专注于生成《牧神记》中灵毓秀这一角色的高质量图像。相比通…...

Ostrakon-VL-8B零售AI创新:用像素游戏化设计提升一线员工使用意愿

Ostrakon-VL-8B零售AI创新&#xff1a;用像素游戏化设计提升一线员工使用意愿 1. 项目背景与设计理念 在零售和餐饮行业&#xff0c;一线员工使用AI工具的意愿往往不高。传统工业级UI界面过于复杂&#xff0c;操作流程繁琐&#xff0c;导致员工抵触新技术。Ostrakon-VL-8B团队…...

foobox-cn个性化定制:打造你的专属foobar2000音乐界面

foobox-cn个性化定制&#xff1a;打造你的专属foobar2000音乐界面 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 当你每天打开foobar2000时&#xff0c;是否希望看到的不只是一个播放器&#xff0c;…...

挖到宝!阿贝云免费云服务太香了,学生党开发者闭眼冲

做个人博客、练技术、部署轻量应用还在找高性价比云服务&#xff1f;阿贝云https://www.abeiyun.com 直接把免费做到极致&#xff0c;免费虚拟主机 免费云服务器双福利&#xff0c;用下来的体验真的远超预期&#xff0c;稳定不卡顿还免备案&#xff0c;新手操作也毫无门槛太省…...

物理信息机器学习新突破!连中SCI一区TOP刊!

小伙伴们好&#xff0c;我是小嬛。专注于人工智能、计算机视觉、AI大模型领域相关分享研究。【目标检测、图像分类、图像分割、目标跟踪等项目都可做&#xff0c;相关领域论文辅导也可以找我&#xff1b;需要的可联系&#xff08;备注来意&#xff09;】-------正文开始-------…...

货车行车记录仪被破坏手工修复成功

由于视频记录了打架过程&#xff0c;很重要&#xff0c; 客户在第一次查看时没问题&#xff0c;再次想拷贝&#xff0c;发现内容都没有了只有USC文件&#xff0c;使用容量也有&#xff0c;如图 好在客户没有再次破坏&#xff0c;TS视频文件&#xff0c;同行通过恢复软件恢复&am…...

2026年全国优质网站建设公司权威甄选榜,推荐十家公司官网搭建与设计制作服务商能力评估正式发布

据Gartner、QuestMobile联合发布的2026年企业数字化服务报告显示&#xff0c;国内网站建设行业市场规模突破1870亿元&#xff0c;同比增长19.3%&#xff1b;上海作为长三角数字经济核心枢纽&#xff0c;企业官网新建与升级需求同比提升27.8%&#xff0c;其中高端定制建站需求增…...

【MySQL】第五节 - 事务实战详解:从基础到并发控制(附 Navicat 可运行实验脚本)

《MySQL 事务实战详解&#xff1a;从基础到并发控制&#xff08;附 Navicat 可运行实验脚本&#xff09;》 为什么你必须掌握 MySQL 事务&#xff1f; 在现代应用系统中&#xff0c;数据一致性是核心诉求。事务&#xff08;Transaction&#xff09; 是保证数据完整性的“黄金…...

新手福音:基于快马平台零基础入门Ubuntu与OpenClaw机器人开发

作为一个刚接触机器人开发的新手&#xff0c;最近在Ubuntu上折腾OpenClaw机器人开发时踩了不少坑。从环境配置到代码调试&#xff0c;每一步都让人头大。不过后来发现了InsCode(快马)平台&#xff0c;简直像找到了救星。今天就把我的学习过程整理成笔记&#xff0c;分享给同样想…...

【实验原理深度解析】弗兰克-赫兹实验:如何用电子“碰撞”揭示原子能级的秘密

1. 电子与原子的"对话"&#xff1a;弗兰克-赫兹实验的设计哲学 想象你站在一个漆黑的房间里&#xff0c;向对面墙壁投掷网球。如果墙壁是实心的&#xff0c;球会直接弹回&#xff1b;但如果墙上有一排高度不同的窗口&#xff0c;球只有达到特定速度才能穿过对应高度的…...