HarmonyOS-实现数据的持久化存储

目录

关系型数据库

初始化数据库

数据库内的增删改逻辑

新增

修改

删除

查询

外部对数据库进行增删改查

初始化数据库

查询数据操作

新增数据操作

更新数据操作

删除数据操作

何时创建表

前提

总结


关系型数据库

初始化数据库

数据库内的增删改逻辑

新增

rdbStore库中提供的insert方法用来新增数据操作

修改

Predicates可以理解为where,修改数据的条件

删除

查询

第一步构建查询条件

第二步解析查询结果

this.tableName为直接指定表名

query:是查询的方法

注:

(1).查询到的结果是一个promise,因为查询需要耗时,是一个异步方法,如果需要立刻拿到结果,需要在前面加上await来等待查询结果

(2).拿到的数据,是一个结果集,需要解析

(3).需要定义一个数组,来遍历分解这个结果集

4).getLong方法用来获取id数据,因为是一个整数,getString方法来获取name,因为name是一个字符串,getColumnIndex(‘ID’)用来获取这一列的数据ID数据,然后将这一行结果封装到一个结果集tasks.push({id,name})返回给数组

5).拿到的表,实际上存在一个-1行,因此需要goToNextRow走到下一行来读取数据

6).事实上是不存在这张表的,数据全都存在于一个黑盒中,我们看不到

外部对数据库进行增删改查

结构:数据的增删改查代码都要放到ets目录下的model文件中,新建一个ets文件,该文件内容如下:在一个class类中包含以下方法,初始化数据库(初始化表),查询表,新增表,更新表,删除表,最后将这个表的对象创建出来,然后做一个导出

首先把关系型数据库的包导入

初始化数据库

①初始化数据库方法里定义一个const config文件,一个是name(rdb数据库对应的文件名),另一个是安全级别securityLevel的一个枚举,securityLevel:relationStore.SecurityLevel.S1

②sql语句:建表语句const sql = ‘sql语句’

③获取rdb:传进三个参数,上下文context,工具类中的config,一个回调(由于可能出现异常,第三个参数写成(err,rdbStore))

由于接下来的增删改查操作不会再重写一遍以上操作,所以把rdbStore记录到成员变量的位置,方便下面的直接引用

查询数据操作

①构建查询条件

直接指定一个成员变量,值为这张表TASK

②查询

③解析查询结果

总体代码:

新增数据操作

更新数据操作

删除数据操作

何时创建表

前提

先导包,TaskModel包

在页面刚启动时就要创建数据库建表,因此在EntryAbility入口文件里,onCreate方法中调用initTaskDB方法初始化表

接下来就要进到TaskList页面,对数据库列表执行增删改查操作

下面是查询操作

查询完数据,拿到数据后,调用handleTaskChange函数对数据库表的数据更新操作

查询完后就新增数据:

改查操作与以上是相同的步骤.

总结

利用数据库可以对大量数据进行持久化的储存,保证数据存储的完整性

谢谢老爷们的观看,我会持续更新,共同进步!为鸿蒙的建设贡献自己绵薄的力量,鸿蒙千帆起!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值