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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 文章目录前言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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件
本篇将带你实现一个自定义天气预报组件。用户可以通过选择不同城市来获取相应的天气信息,页面会显示当前城市的天气图标、温度及天气描述。这一功能适合用于动态展示天气信息的小型应用。
164 38
|
2月前
|
人工智能 前端开发 API
鸿蒙开发:简单自定义一个绘制画板
画板,最重要的就是绘制,保证线条绘制的连续性,这一点很重要,还有就是beginPath方法一定要调用,否则更改颜色以及绘制就会出现不连续以及颜色设置错误问题。
71 14
|
2月前
|
索引 API
鸿蒙开发:自定义一个股票代码选择键盘
金融类的软件,特别是股票基金类的应用,在查找股票的时候,都会有一个区别于正常键盘的键盘,也就是股票代码键盘,和普通键盘的区别就是,除了常见的数字之外,也有一些常见的股票代码前缀按钮,方便在查找股票的时候,更加方便的进行检索。
鸿蒙开发:自定义一个股票代码选择键盘
|
2月前
|
API
鸿蒙开发:自定义一个英文键盘
实现方式呢,有很多种,目前采用了比较简单的一种,如果大家采用网格Grid组件实现方式,也是可以的,但是需要考虑每行的边距以及数据,还有最后两行的格子占位问题。
鸿蒙开发:自定义一个英文键盘
|
2月前
|
API
鸿蒙开发:自定义一个车牌字母键盘
车牌字母键盘和一般的键盘还有很大区别的,大家可以发现,键盘上是少一个字母的,因为I字母具有混淆性,所以这个字母是不在车牌键盘内的。
鸿蒙开发:自定义一个车牌字母键盘
|
2月前
|
JavaScript Java 容器
鸿蒙应用开发从入门到入行 - 篇4:层叠布局、自定义组件、ForEach
导读:在本篇文章里,您将掌握层叠布局、自定义组件的用法,特别是自定义组件将来的开发中必然会用,其中应该特别关注自定义组件的一些规范与装饰器。
66 7
鸿蒙应用开发从入门到入行 - 篇4:层叠布局、自定义组件、ForEach
|
2月前
|
存储 前端开发 关系型数据库
鸿蒙开发:实现键值数据库存储
对于数据量比较的小的,我们直接选择轻量级的用户首选项方式即可,而对于数据量比较大的情况下,直接可以使用数据库,而对于相对来说,比较大的数据,我们就可以使用键值型数据库方式
103 2
|
3月前
|
存储 数据安全/隐私保护
鸿蒙开发:自定义一个动态输入框
在鸿蒙开发中,如何实现这一效果呢,最重要的解决两个问题,第一个问题是,如何在上一个输入框输入完之后,焦点切换至下一个输入框中,第二个问题是,如何禁止已经输入的输入框的焦点,两个问题解决完之后,其他的就很是简单了。
71 13
鸿蒙开发:自定义一个动态输入框
|
2月前
鸿蒙开发:自定义一个剪辑双滑块组件
既然是一个剪辑截取的功能,音频也好,视频也好,大同小异,无非就是轨道不一,进度不一,但拖拽的滑块都是相似的,除了常见的音视频使用之外,有双向滑动需求的场景也是可以满足的。
鸿蒙开发:自定义一个剪辑双滑块组件
|
3月前
|
前端开发 搜索推荐 开发者
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas组件自定义绘图
Canvas 组件在鸿蒙应用中用于绘制自定义图形,提供丰富的绘制功能和灵活的定制能力。通过 Canvas,可以创建矩形、圆形、路径、文本等基础图形,为鸿蒙应用增添个性化的视觉效果。本篇将介绍 Canvas 组件的基础操作,涵盖绘制矩形、圆形、路径和文本的实例。
134 12
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas组件自定义绘图