鸿蒙 端云一体化开发-云数据库
一、在AppGallery connect上 建立数据库
按照前一个博客的内容,假设,在AppGallery上已经创建好了一个项目“CSDNProjectDemo”。进入项目后,选择“云数据库”。
1.新增存储区
进入后,选择“存储区”,“新增”存储区。
存储区名称,可自行确定,这里填入“test”,一个存储区下面可以有几个对象。
点击确定后,就建好了一个存储区。
2.新增对象类型
点击“对象类型”后进入对象类型进行“新增”。
对象名字,此处写为book。
然后,增加字段。
为了方便,只定义了3个字段,一个id,一个name、一个、author。id数据类型设为IntAutoIncrement,其他两个的数据类型都设为string。并且把id设为主键,一个对象中一般只有一个主键,它能确保表中的每一行数据都可以被唯一区分,避免出现重复记录。这是主键最根本的作用。它还有利于提高检索效率。
然后设置索引,索引名,自行取名。此处取“id_index”,右侧,制定这个索引对应的是“id”字段,ASC表示按照id升序排列(DESC是降序)。
接着设置权限,此处不讨论这个,按照默认即可。
点击确定后,book这个对象就创建好了。
3.新增对象数据
接下来新增对象数据。存储区名称,在右侧下拉选框取,选择刚创建的test;对象类型,在右侧下选框矿中选book。然后进行“新增”。
增加2本书的内容:
id 、name、author 分别输入:1、红楼梦、曹雪芹;2、水浒传、施耐庵。

新增完毕,后点击“新增”按钮旁边的“查询”按钮,就能查看到刚才新建的2条内容。
4.导出对象类型
点击对象类型,选中下面的book对象,选择导出。
选择导出为“json格式”
这样就下载回来一个json文件。
二、在DevEco Studio中进行数据库操作
1.引入引入对象类型文件
将上面的“CSDNProjectDemo8 cn.json”文件改名成:schema.json。
然后,拷贝到DevEco Studio项目的“Application/AppScope/resources/rawfile”目录下。这一步很关键。
2.创建book对应的类
在工程中创建一个book类,名字可以自己取,这里取成“BookInfo.ets”,新建了一个Class文件夹,把这个BookInfo.ets放在了Class文件夹下(存放位置,自行决定)。
然后在BookInfo.ets中输入以下代码:
import { cloudDatabase } from '@kit.CloudFoundationKit';
class BookInfo extends cloudDatabase.DatabaseObject{
public naturalbase_ClassName(): string {
return "book"; //此处的book名字一定要和云上的名字一样。
}
public id: number | undefined;
public name: string | undefined;
public author: string | undefined;
}
export { BookInfo };
注意,其中的return “book”;中的book一定要和云端的一模一样,否则会报错。
其中的public id: number | undefined; public name: string | undefined; public author: string | undefined;也是和云端的要对应:
在AGC控制台创建的字段类型与ArkTS数据类型的匹配关系如下:
String、Text对应string。
Boolean对应boolean。
Byte、ByteArray对应Uint8Array。
Short、Integer、Long、Float、Double、IntAutoIncrement、LongAutoIncrement对应number。
Date对应Date。
3.编写端侧页面代码
创建一个页面,并输入如下代码:
import { cloudDatabase } from '@kit.CloudFoundationKit';
import { BookInfo } from './Class/BookInfo';
@Entry
@Component
struct DataBaseDemo{
@State receiveMsg:string="";
async aboutToAppear() {
let databaseZone = cloudDatabase.zone('test');
let condition=new cloudDatabase.DatabaseQuery(BookInfo)
try {
let resultArray = await databaseZone.query(condition);
this.receiveMsg=JSON.stringify(resultArray)
} catch (err) {
this.receiveMsg=JSON.stringify(err)
}
}
build() {
Text(this.receiveMsg)
}
}
4.真机运行
真机运行结果如下:
三、数据库的各项操作
在上面的二、3节中,只做了一个数据,查询。在这一节中,将讲一下在DevEco Studio中的其他各项数据库操作。
1.修改数据库中的对象的字段(增加或者删减)
要先去AppGallery Connect上,去手动添加。比如,这里我们相对book对象的字段添加一个price字段。
新增一个字段,就可以了,字段写price,类型选Short,默认值0(默认0元)。
更多推荐



所有评论(0)