【鸿蒙】关系型数据库的自定义创建

本文涉及的产品
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
PolarSearch,搜索节点 4核8GB
PolarDB Agent Flow,2核4GB
简介: 文章目录前言1. 使用的API2.方法介绍3.效果

1. 使用的API

接口名 接口名 描述
StoreConfig.Builder public StoreConfig builder() 对数据库进行配置,包括设置数据库名、存储模式、日志模式、同步模式,是否为只读,及数据库加密。

如果不用默认值,则使用builder内部类,



2.方法介绍

可以看到有很多的方法


  • setName() :设置数据库的名字
  • setSyncMode() :同步模式可以看到是enum,第一个值就是关闭的意思,第二个就是正常同步,第四个就是完全同步,第五个是额外同步。这些值呢只有多设备才有意义,对于单设备就没必要了,所以设为null


  • setJournalMode() :日志模式


DELETE:默认的日志模式,一般在事务开始时创建回滚日志,事务结束时删除回滚日志


PERSIST:事务结束时不删除回滚日志,而是在日志文件头部覆写可以达到删除文件的效果,却减少了反复创建删除回滚日志的磁盘开始


MEMORY:将回滚日志储存在内存而不是磁盘中,但因为在磁盘中没有用于恢复的文件


OFF:禁用sqllite原子提交和回滚功能


WAL:预写日志,当数据库连接首次打开时,wal文件就会被创建

当最后一次数据库连接被正常关闭时,wal文件就会被删除

如果最后一次数据库连接没有正常关闭,wal文件会被保存下来,直到下一次打开数据库时才自动删除,shm共享内存文件,用于提供一块共享内存给多个进程在wal模式中访问相同的数据库


setStorageMode():存储模式



就两种,内存模式,磁盘模式,一般放在磁盘里面,断电也不怕数据消失


setReadOnly() :读写模式

一般我们肯定是要可读写的,设为false


setDatabaseFileType() :数据库文件类型三种状态


NORMAL:默认值,正常

BACKUP:备份

CORRUPT:损坏


setEncryptKey():加密模式


3.效果

StoreConfig.Builder builder = new StoreConfig.Builder();
        String keystr = "123456";
        builder.setName("stan.db")
                .setSyncMode(null)
                .setJournalMode(StoreConfig.JournalMode.MODE_WAL)
                .setStorageMode(StoreConfig.StorageMode.MODE_DISK)
                .setReadOnly(false)
                .setDatabaseFileType(DatabaseFileType.NORMAL)
                //加密
                .setEncryptKey(keystr.getBytes());
        StoreConfig config = builder.build();

运行结果,同样得到数据结果,这些基于上一篇文章


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
9月前
|
JavaScript
鸿蒙应用开发从入门到实战(八):ArkTS自定义组件语法
ArkUI除系统预置的组件外,还支持自定义组件。使用自定义组件,可使代码的结构更加清晰,并且能提高代码的复用性。
370 7
|
9月前
|
存储 JSON 数据建模
鸿蒙 HarmonyOS NEXT端云一体化开发-云数据库篇
云数据库采用存储区、对象类型、对象三级结构,支持灵活的数据建模与权限管理,可通过AGC平台或本地项目初始化,实现数据的增删改查及端侧高效调用。
463 1
存储 人工智能 机器人
285 0
|
11月前
|
数据可视化 BI API
无缝对接云数据库:自定义报表生成工具在混合云环境下的部署指南
自定义报表生成工具通过拖拽设计、多数据源整合及自动化输出,帮助业务人员零代码创建个性化报表,解决传统工具灵活性不足、技术门槛高的问题。文章对比其与传统报表差异,列举行业应用场景(如财务、零售),并给出选型建议与主流工具(如FineReport、Power BI、板栗看板)的优劣势分析。
376 0
|
12月前
|
缓存 JavaScript 前端开发
【HarmonyOS 5】鸿蒙的装饰器原理和自定义装饰器
一、鸿蒙中的装饰器是什么? 在ArkTS中装饰器(Decorator)是一种特殊的声明,能够对类、方法、属性等进行标注和修改。
273 0
|
12月前
|
移动开发 开发工具 容器
【HarmonyOS NEXT】鸿蒙使用ScanKit实现自定义扫码 (一)之业务流程和扫码
1)鸿蒙提供的ScanKit具备以下五种能力: 1. 扫码直达 2. 自定义扫码,图像识码 (自定义扫码需要这两种能力组合在一起,所以我分类在一起) 3. 码图生成 4. 系统提供的默认界面扫码
397 0
|
开发者
鸿蒙仓颉语言开发教程:自定义弹窗
假期第一天,祝大家端午节快乐!继续分享仓颉语言开发教程,介绍如何通过CustomDialogController实现自定义弹窗,包括参数设置与代码示例,帮助开发者掌握弹窗的使用技巧。
|
12月前
|
开发者
鸿蒙仓颉开发语言实战教程:自定义组件
本文介绍了如何在仓颉开发语言中创建自定义组件,以封装和管理项目中的 tabbar 组件为例。通过创建独立的组件文件 yltabbar.cj,并使用 @Component 和 @Link 等修饰符实现组件化开发与参数传递,提升代码复用性和项目可维护性。适合希望深入掌握仓颉语言组件开发的 HarmonyOS 开发者学习参考。 #HarmonyOS #仓颉 #购物
|
12月前
|
容器
鸿蒙仓颉开发语言实战教程:自定义tabbar
本文介绍了在仓颉语言中实现自定义 tabbar 的完整过程。由于仓颉的 tabbar 组件限制较大,仅支持图片和文字,无法满足复杂样式需求,因此需手动构建带图标与文字的 tabbar 元素,并通过状态判断实现选中效果及点击切换功能。结合 Tabs 容器完成页面切换,适用于 HarmonyOS 商城应用开发。
|
12月前
|
开发者
Uniapp开发鸿蒙应用教程之自定义导航栏
本文介绍了在Uniapp跨平台开发鸿蒙应用时,如何实现自定义导航栏。通过修改pages.json文件可调整默认导航栏样式,但若需添加组件(如搜索框、按钮等),则需手动创建自定义导航栏组件,以适配鸿蒙系统。文中给出了详细的配置代码与实现步骤,帮助开发者灵活控制界面布局。#鸿蒙 #Uniapp #跨平台开发

热门文章

最新文章