当前位置:首页 > 系统教程 > 正文

鸿蒙OS数据存储实践(关系型数据库RDB核心技术详解)

鸿蒙OS数据存储实践(关系型数据库RDB核心技术详解)

在进行鸿蒙应用开发时,如何高效地管理结构化数据是每个开发者必须面对的课题。鸿蒙关系型数据库(Relational Database, RDB)基于轻量级的 SQLite 引擎,为开发者提供了底层的本地数据持久化能力。无论是用户信息、账单明细还是配置列表,使用 RDB 都能实现极速的读写与复杂的关联查询。

一、鸿蒙关系型数据库的核心概念

鸿蒙的 RDB 框架主要包含以下几个核心要素:

  • RdbStore: 数据库实例,通过它可以执行 SQL 语句进行增删改查。
  • RdbOpenCallback: 数据库创建和版本迁移的回调,用于初始化表结构。
  • ValuesBucket: 键值对容器,用于存储要插入数据库的一行数据。
  • ResultSet: 结果集,用于存放查询返回的数据行。
鸿蒙OS数据存储实践(关系型数据库RDB核心技术详解) 鸿蒙关系型数据库  HarmonyOS RDB开发 鸿蒙应用数据存储 鸿蒙SQLite操作 第1张

二、开发实战:小白也能上手的 CRUD 教程

1. 配置与初始化

首先,我们需要定义数据库配置并获取 RdbStore 实例。以下是初始化代码示例:

const STORE_CONFIG = {  name: "UserDatabase.db",  securityLevel: reldb.SecurityLevel.S1};const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS USER (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, AGE INTEGER)";reldb.getRdbStore(context, STORE_CONFIG, (err, rdbStore) => {  rdbStore.executeSql(SQL_CREATE_TABLE);  console.info("数据库初始化成功");});

2. 插入数据(Create)

使用 ValuesBucket 封装数据,调用 insert 方法:

const valueBucket = {  "NAME": "鸿蒙开发者",  "AGE": 25};rdbStore.insert("USER", valueBucket).then((rowId) => {  console.info("插入成功,行ID: " + rowId);});

3. 查询数据(Retrieve)

通过谓词 RdbPredicates 设置过滤条件,查询结果通过 ResultSet 遍历:

let predicates = new reldb.RdbPredicates("USER");predicates.equalTo("NAME", "鸿蒙开发者");rdbStore.query(predicates, ["ID", "NAME", "AGE"]).then((resultSet) => {  while (resultSet.goToNextRow()) {    const id = resultSet.getLong(resultSet.getColumnIndex("ID"));    console.info("查询到用户ID: " + id);  }  resultSet.close();});

三、SEO 关键词总结与注意事项

本文重点讲解了:鸿蒙关系型数据库HarmonyOS RDB开发鸿蒙应用数据存储鸿蒙SQLite操作

在实际开发中,请务必记得在操作完成后关闭 ResultSet,以避免内存泄漏。同时,建议对数据库的操作放在非主线程中执行,以保证应用的 UI 流畅度。

© 鸿蒙OS开发系列教程 - 助力每一位开发者零基础入门