【鸿蒙】关系型数据库在真机的使用

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 1.组件在真机上演示,创建数据库和打开数据库,只用button组件就行了

1.组件

在真机上演示,创建数据库和打开数据库,只用button组件就行了

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:orientation="vertical">
    <Button
        ohos:id="$+id:crate_db_button"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:text="创建数据库"
        ohos:text_size="20vp"
        ohos:text_color="#ffff"
        ohos:background_element="$graphic:button_bg"
        ohos:top_padding="8vp"
        ohos:left_padding="50vp"
        ohos:right_padding="50vp"
        ohos:layout_alignment="horizontal_center"
        ohos:top_margin="30vp"
        ohos:text_weight="700"/>
    <Button
        ohos:id="$+id:open_db_button"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:text_size="20vp"
        ohos:text="打开数据库"
        ohos:text_color="#ffff"
        ohos:background_element="$graphic:button_bg"
        ohos:top_padding="8vp"
        ohos:left_padding="50vp"
        ohos:right_padding="50vp"
        ohos:layout_alignment="horizontal_center"
        ohos:top_margin="30vp"
        ohos:text_weight="700"/>
</DirectionalLayout>

按钮样式

<?xml version="1.0" encoding="UTF-8" ?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
       ohos:shape="rectangle">
    <corners ohos:radius="15"/>
    <solid
        ohos:color="blue"/>
</shape>

2.

创建和启动数据库的代码分开来写,先初始化按钮



然后将前面文章所写创建和打开的代码分别放入到两个按钮当中,

创建数据库

cdb = (Button) findComponentById(ResourceTable.Id_crate_db_button);
        cdb.setClickedListener(c->{
            // 创建数据库
            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();
            //创建数据库的实质循环,重要的核心类
            DatabaseHelper helper=new DatabaseHelper(MainAbilitySlice.this);
            //进一步通过helper,获取数据库对象
            //传入四个参数
            RdbStore rdbStore = helper.getRdbStore(config, 1, Callback, null);
            ValuesBucket valuesBucket = new ValuesBucket();
            valuesBucket.putInteger("id",1);
            valuesBucket.putString("name","zhangsan");
            valuesBucket.putInteger("age", 28);
            valuesBucket.putDouble("salary", 8000.5);
            long test = rdbStore.insert("test", valuesBucket);
            System.out.println("========test"+test);
            valuesBucket.putInteger("id",2);
            valuesBucket.putString("name","wangwu");
            valuesBucket.putInteger("age", 28);
            valuesBucket.putDouble("salary", 80001.5);
            long test1 = rdbStore.insert("test", valuesBucket);
            System.out.println("========test"+test1);
        });

读取数据

odb = (Button) findComponentById(ResourceTable.Id_open_db_button);
        odb.setClickedListener(component -> {
            // 打开已经存在的数据库
            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();
            DatabaseHelper helper=new DatabaseHelper(MainAbilitySlice.this);
            //进一步通过helper,获取数据库对象
            //传入四个参数
            RdbStore rdbStore = helper.getRdbStore(config, 1, openCallback, null);
            ResultSet resultSet = rdbStore.
                    querySql("select id,name,age,salary from test where age=? order by salary desc", new String[]{"28"});
            for (int i=0;i<resultSet.getRowCount();i++){
                resultSet.goToRow(i);
                System.out.println("+++++++++id"+resultSet.getInt(resultSet.getColumnIndexForName("id")));
                System.out.println("+++++++++name"+resultSet.getString(resultSet.getColumnIndexForName("name")));
                System.out.println("+++++++++age"+resultSet.getInt(resultSet.getColumnIndexForName("age")));
                System.out.println("+++++++++salary"+resultSet.getDouble(resultSet.getColumnIndexForName("salary")));
            }
        });

3.演示效果

创建后打开数据库

网络异常,图片无法展示
|


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
Java 数据库
【鸿蒙】Data Ability本地数据库写入读取数据
1)配置权限和UI的实现 放在config.json的abilities同级下
【鸿蒙】Data Ability本地数据库写入读取数据
|
XML 分布式数据库 数据格式
【鸿蒙】单版本分布式数据库实战
周末如期而至,学习也不能停止,分布式数据库实战搞起! 1).要使用分布式的化首先就得打开权限,在config.json中添加permisssion权限。
【鸿蒙】单版本分布式数据库实战
|
存储 关系型数据库 数据库连接
【鸿蒙】关系型数据库的自定义创建
文章目录 前言 1. 使用的API 2.方法介绍 3.效果
【鸿蒙】关系型数据库的自定义创建
|
SQL 数据库
【鸿蒙】数据库--数据的删除
删除 调用删除接口,通过AbsRdbPredicates指定删除条件。该接口的返回值表示删除的数据行数,可根据此值判断是否删除成功。如果删除失败,则返回0。
【鸿蒙】数据库--数据的删除
|
数据库
【鸿蒙】数据库--数据的更新
4.更新数据 调用更新接口,传入要更新的数据,并通过AbsRdbPredicates指定更新条件。该接口的返回值表示更新操作影响的行数。如果更新失败,则返回0。
【鸿蒙】数据库--数据的更新
|
SQL 关系型数据库 API
【鸿蒙】数据库--查询数据
3.查询 关系型数据库提供了两种查询数据的方式: 直接调用查询接口。使用该接口,会将包含查询条件的谓词自动拼接成完整的SQL语句进行查询操作,无需用户传入原生的SQL语句。 执行原生的SQL语句进行查询操作。
【鸿蒙】数据库--查询数据
|
SQL 数据库 开发者
【鸿蒙】数据库--创建数据库
1.创建数据库 做小demo那我们可以用Storeconfig类。这个可以创建数据库名,其余的值设为默认。我给的名字是RdbStoreTest.db。 onstart方法内
【鸿蒙】数据库--创建数据库
|
存储 关系型数据库 数据库
【鸿蒙】数据库--添加数据
2.添加数据 关系型数据库提供了插入数据的接口,通过ValuesBucket输入要存储的数据,通过返回值判断是否插入成功,插入成功时返回最新插入数据所在的行号,失败时则返回-1。
【鸿蒙】数据库--添加数据
|
开发工具 数据安全/隐私保护
【鸿蒙征程】二.真机模拟,签名证书获取✨保姆级教学,很详细✨
文章目录 前言 1.创建工程 2.生成签名文件 3.申请发布证书和Profile文件 4.配置签名信息
【鸿蒙征程】二.真机模拟,签名证书获取✨保姆级教学,很详细✨
|
SQL 关系型数据库 Java
鸿蒙开发实例|对象关系映射数据库
HarmonyOS应用数据管理不仅支持单设备的各种结构化数据的持久化,还支持跨设备之间数据的同步、共享及搜索功能,因此,开发者基于Harmony OS应用数据管理功能,能实现应用程序数据在不同终端设备之间的无缝衔接,从而保证用户在跨设备使用数据时所用数据的一致性。
300 0
鸿蒙开发实例|对象关系映射数据库