ITPub博客

首页 > 架构设计 > 操作系统 > #HarmonyOS NEXT体验官# 关系型数据库封装DBHelper

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper

投稿 操作系统 作者:ITPUB鸿蒙小助手 时间:2025-12-04 17:31:06 0 删除 编辑

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业 认可,点亮职业成长先机,快人一步抢占未来应用开发赛道! https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-itpub&ha_sourceId=70000033

 

背景

在实现单机应用时,用户所有的操作数据都需要保存在本地。官方提供了关系型数据库基于SQLite组件,适用于包含复杂关系数据的场景。

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper-鸿蒙开发者社区

 

并且提供了大量的增删改查方法,不过在使用过程中还是会出现比较多的硬编码和不方便操作的情况,比如:

l   创建数据表:需要手写SQL语句

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper-鸿蒙开发者社区

l   添加数据时,需要手写类型名称和数值

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper-鸿蒙开发者社区

l   查询数据获取比较麻烦

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper-鸿蒙开发者社区

因此,在@kit.ArkData的基础上进行使用的封装,方便我们在调用关系型数据库进行增删改查。

 

DBHelper

架构

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper-鸿蒙开发者社区

 

DBServer

作用:数据操作服务类。初始化数据库方法、创建数据表名、数据库数据的增删改查入口。

Models->BaseEntity

作用:为了统一数据库实体类的继承

DBCommon->ColumnType

作用:定义数据表中每一项的数据类型

DBCommon->DBTable

作用:数据表结构缓存类,里面定义了表数据结构和列数据结构。并且缓存类封装相对应的方法去操作对表数据结构进行增删改查。

DBCommon->DeletePredicates

作用:在RdbPredicates基础上同步封装的方法,并提供在方法拼接后直接删除方法。

DBCommon->QueryPredicates

作用:对RdbPredicates进行封装,实现搜索时候的谓词添加,并提供自定义查询方法

DBCommon->UpdatePredicates

作用:对RdbPredicates进行封装,实现搜索时候的谓词添加,并提供自定义更新方法。

Annotations->Columns

作用:属性的装饰器。用来定义数据表实体中每一列的数据结构

Annotations->Table

作用:class装饰器。用来定义数据表名字,可以自定义名字,也可以默认当前class名字。

实例使用

实现数据库初始化、数据库增删改查操作

EntryAbility

在EntryAbility中的OnCreate中进行初始化

定义数据库表实体类

l   @Table() :定义当前class为数据库表实体类。默认数据库表名为class名字

l   @Columns() :定义数据表列数据。默认列数据名为属性名字

页面使用

#HarmonyOS NEXT体验官# 关系型数据库封装DBHelper-鸿蒙开发者社区

 

总结

上面的代码是全开源的,可以通过 源码下载   下载代码来自行改装,上面只是初步实现了增删改查,后续还会有持续的更新操作,比如外键适配等操作,如果有自定义需求或者bug也欢迎提Issues。( 转载自51CTO,作者:奥尼5354)

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047792/viewspace-3104410/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-11-18

  • 博文量
    401
  • 访问量
    296698