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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 文章目录前言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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
6月前
|
关系型数据库 MySQL 数据库
第十四章 演示MYSQL自定义values.yaml绑定PV和PVC和数据库用户密码
第十四章 演示MYSQL自定义values.yaml绑定PV和PVC和数据库用户密码
78 0
|
12月前
|
XML 开发框架 前端开发
J2EE之自定义框架知识(下篇 综合运用增删改查)
J2EE之自定义框架知识(下篇 综合运用增删改查)
61 0
|
7天前
|
UED 开发者 容器
Flutter&鸿蒙next 的 Sliver 实现自定义滚动效果
Flutter 提供了强大的滚动组件,如 ListView 和 GridView,但当需要更复杂的滚动效果时,Sliver 组件是一个强大的工具。本文介绍了如何使用 Sliver 实现自定义滚动效果,包括 SliverAppBar、SliverList 等常用组件的使用方法,以及通过 CustomScrollView 组合多个 Sliver 组件实现复杂布局的示例。通过具体代码示例,展示了如何实现带有可伸缩 AppBar 和可滚动列表的页面。
70 1
|
9天前
|
前端开发 开发者
深入探索 Flutter 鸿蒙版的画笔使用与高级自定义动画
本文深入探讨了 Flutter 中的绘图功能,重点介绍了 CustomPainter 和 Canvas 的使用方法。通过示例代码,详细讲解了如何绘制自定义图形、设置 Paint 对象的属性以及实现高级自定义动画。内容涵盖基本绘图、动画基础、渐变动画和路径动画,帮助读者掌握 Flutter 绘图与动画的核心技巧。
62 1
|
9天前
|
Dart UED 开发者
Flutter&鸿蒙next中的按钮封装:自定义样式与交互
在Flutter应用开发中,按钮是用户界面的重要组成部分。Flutter提供了多种内置按钮组件,但有时这些样式无法满足特定设计需求。因此,封装一个自定义按钮组件变得尤为重要。自定义按钮组件可以确保应用中所有按钮的一致性、可维护性和可扩展性,同时提供更高的灵活性,支持自定义颜色、形状和点击事件。本文介绍了如何创建一个名为CustomButton的自定义按钮组件,并详细说明了其样式、形状、颜色和点击事件的处理方法。
61 1
|
9天前
|
Dart 搜索推荐 API
Flutter & 鸿蒙next版本:自定义对话框与表单验证的动态反馈与错误处理
在现代移动应用开发中,用户体验至关重要。本文探讨了如何在 Flutter 与鸿蒙操作系统(HarmonyOS)中创建自定义对话框,并结合表单验证实现动态反馈与错误处理,提升用户体验。通过自定义对话框和表单验证,开发者可以提供更加丰富和友好的交互体验,同时利用鸿蒙next版本拓展应用的受众范围。
61 1
|
2月前
|
数据库 Python
django中数据库外键可以自定义名称吗
django中数据库外键可以自定义名称吗
|
3月前
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
|
4月前
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之数据集成时源头提供数据库自定义函数调用返回数据,数据源端是否可以写自定义SQL实现
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
存储 运维 Java
SpringBoot使用log4j2将日志记录到文件及自定义数据库
通过上述步骤,你可以在Spring Boot应用中利用Log4j2将日志输出到文件和数据库中。这不仅促进了良好的日志管理实践,也为应用的监控和故障排查提供了强大的工具。强调一点,配置文件和代码的具体实现可能需要根据应用的实际需求和运行环境进行调优和修改,始终记住测试配置以确保一切运行正常。
574 0