鸿蒙数据库系列之关系型数据库

前言

移动端开发,数据存储是非常重要的,鸿蒙也不例外,说到数据存储,首要的就是数据库了,数据库的存储机制是否完善,提供的功能是否简单方便,直接影响开发者的开发速度和性能(www.888789.cn)。作为鸿蒙开发者,最近就深入学习了鸿蒙的数据库知识点,了解了存储机制并且尝试了使用,发现鸿蒙的数据库真的做到了应有尽有,操作还简单的地步。

概念

先来看看 鸿蒙的 关系型数据库(Relational Database,RDB) 概念。鸿蒙的RDB 是一种基于关系模型来管理数据的数据库。HarmonyOS关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。HarmonyOS提供的关系型数据库功能更加完善,查询效率更高。概念中一句话很重要,HarmonyOS提供的关系型数据库功能更加完善,查询效率更高。看到这里我当时是非常激动的,作为开发者难道不是最希望 使用的api在什么情况下都适用吗?下面看看鸿蒙数据库的运作机制,了解机制才能了解数据库开发的核心,也有利于扩展。

运作机制

HarmonyOS关系型数据库对外提供通用的操作接口,底层使用SQLite作为持久化存储引擎,支持SQLite具有的所有数据库特性,包括但不限于事务、索引、视图、触发器、外键、参数化查询和预编译SQL语句。关系型数据库运作机制:

点击此处添加图片说明文字

看到上面的鸿蒙数据库的运行机制 不难发现,主要工作还是在framework层做的封装,然后调用JNI,使用的还是SQLite组件,不管 底层怎么做的开发,只要功能完善,体验到位,鸿蒙应用端直接使用不是很香吗?

约束与限制

  • 1、数据库中连接池的最大数量是4个,用以管理用户的读写操作。连接池的数量是有限制的 ,最大时4个,不过4个已经足够使用了。
  • 2、为保证数据的准确性,数据库同一时间只能支持一个写操作。同一时间支持一个写操作时非常重要的,为了防止数据存储的正确性,鸿蒙做了这一个限制,但是作为多年的移动端开发者,一般这种多操作或者大数据操作,都会使用多线程,异步线程,或者放在线程池中,这样就更完美了。

数据库操作DataAbility

鸿蒙在创建类的时候 有一个 DataAbility,不知道各位开发者使用过了没,其实这个就是为了数据库操作尔来的。添加步骤很简单:添加类的时候 选择Empty DataAbility即可。

一、 配置:

添加类后 会自动生成如下配置:

点击此处添加图片说明文字

  • 1、操作数据库需要权限信息

点击此处添加图片说明文字

  • 2、需要配置url,url很重要,在进行数据库表操作的时候 需要保持一致

二 、DataAbility操作内容

默认创建的DataAbility类会自动重写 数据库的增,删,改,查 几种操作的函数。可以看下面:

点击此处添加图片说明文字

点击此处添加图片说明文字

点击此处添加图片说明文字

点击此处添加图片说明文字

  • 1、添加DataAbility 会自动重写四个接口函数,有关数据库的增,删,改,查。
  • 2、该DataAbility在运行项目后会自行执行onStart 方法 进行数据库及其数据表的创建工作
  • 3、通过RdbPredicates 数据库进行数据库关系的关联进行操作。

三 、数据库操作

这里的数据库操作 时开发需求做的数据库操作,可以通过自己的需求来开发数据库的调用操作,最终还是通过使用 DataAbility直接调用系统的数据库。

点击此处添加图片说明文字

点击此处添加图片说明文字

点击此处添加图片说明文字

点击此处添加图片说明文字

  • 1、数据插入 使用 对象类 ValuesBucket
  • 2、使用 DataAbilityPredicates 实例 进行数据查询的条件设置

到此有关数据库的关系型数据库操作 基本就完成了,是不是非常,非常简单,可以直接拿来主义 验证一下。

——————

原创:老王丨鸿蒙hms开发者高级认证持证人!学习更多鸿蒙OS相关开发技术可以关注我的公众号:鸿蒙开发者老王

公司名称:宁波北仑米瑞达液压有限公司