JAVA程序员转战华为鸿蒙开发:HarmonyOS PA与关系型数据库浅析
闲言碎语 现今企业研发,前后端分离模式已经是常态。作为JAVA程序员更多是关注服务端接口、服务器、数据库相关的后端研发工作,比较少见:参与界面开发相关工作。
分工合作
HarmonyOS系统自去年开始推出以来,不管是自身的完善程度、生态建设等都才起步。如果采取相关技术适配自己的产品,大部分企业不管是技术人才储备、还是分工,均远远没有明确。
而据我了解:不管是社区还是开发者联盟,里边的大部分成员,其实对于‘技术上手’都是个问题(截止日期2021.5.31)。
丧
本文概要 内容讲解,是基于目前HarmonyOS进展情况(2021.5.31)。HarmonyOS支持的数据库是啥,以及如何操控它?
PA概念 应用所具备能力的抽象,称为Ability(类比JAVA中面向对象概念,这里是对能力抽象)。
HarmonyOS将Ability分为两类:FA(Feature Ability)和PA(Particle Ability),两者的差别在于,PA没有界面。
PA支持两种模板,Service Ability和Data Ability,本文浅要讲解的内容和Data Ability这块有一定关系,这里可以先引入这个概念,后面抽空写章节做讲解。
数据库DataBase
关系型数据库 在JAVA研发中,Mysql数据库使用占比是最大的,然而在HarmonyOS中不支持(目前不支持,2021.5.31)。
#鸿蒙#支持基于SQLite组件定制的关系型数据库(Relational Database,RDB),HarmonyOS封装了一些底层,做了自己的一些定制化,因此和我们常见用法就有了一定的区别。按
官方的说法:
HarmonyOS提供的关系型数据库功能更加完善,查询效率更高。
我个人持中立态度,只认可它有自己的特色~但至于好不好,这个嘛,至少目前它很局限性。
- 基本概念 以关系模型为基础创建的数据库,采用行和列的形式存储数据。
sql语句
- 谓词 用来定义数据库的操作条件,数据库中常用来代表数据实体性质、特征或者实体之间关系的词项。
- 结果集 用户查询数据库之后的结果集合。
- SQLite数据库 一款轻型的、遵守ACID准则的关系型开源数据库。
代码示例
//new一个数据库配置对象,configStoreConfig config = StoreConfig.newDefaultConfig("RdbStoreONE.db");//在回调函数里,我们做一些初始化操作,注意:这种写法,JAVA做spring开发的小伙伴是不常用的//但在HarmonyOS开发里,几乎全篇这种,所以要去适应这种写法private static RdbOpenCallback callback = new RdbOpenCallback() { @Override public void onCreate(RdbStore store) { //这个函数是代表数据库创建时,我们在这里可以做一些我们想做的事。 store.executeSql("CREATE TABLE IF NOT EXISTS user (user_id INTEGER PRIMARY KEY AUTOINCREMENT, user_name TEXT NOT NULL, age INTEGER)"); }};
- StoreConfig 数据库配置类。
- RdbOpenCallback 数据库创建时的回调信息类。
上述代码中,我们创建了一个数据库配置类,然后new了一个回调对象CALLBACK。在callback里边我们设定了:创建数据库的时候,同时创建一张user表。
//获取RdbStore实例DatabaseHelper helper = new DatabaseHelper(context);RdbStore store = helper.getRdbStore(config, 1, callback, null);
- RdbStore 数据库操作类,增、删、改、查,均可通过其实例来进行操作。
//定义字段,用户类字段,对应数据库user表中的相关filed字段。String[] columns = new String[] {"user_id", "user_name", "age"};//设置查询条件RdbPredicates rdbPredicates = new RdbPredicates("user").equalTo("age", 18); //执行查询,获取结果集合ResultSet resultSet = store.query(rdbPredicates, columns);
- ResultSet 代码中执行查询操作后,返回的数据合集,以Set对象接收,这是HarmonyOS里边定义好的。
- RdbPredicates 谓词,数据库操作条件的集合,我们用来封装一些SQL语句中的条件。
end
结语 关于JAVA程序员在HarmonyOS中操作数据库,入门的讲解就到这里了,希望对需要的人能有所帮助。
一切讲究个缘分,我们是否还有缘分再次碰面呢~[得意]
花粉社群VIP加油站
恭喜你,领取到一张面值 0 元的优惠券
只有购买全集内容 0.00 元,才可抵扣使用。
有效期截止于:2020-12-12 23:59
是否立即使用?