零基础学鸿蒙编程-金沙1005

什么是关系数据库鸿蒙关系数据库是适合在移动设备上使用的轻量型关系型数据库,速度快,占用空间小.与轻量数据库适合存储少量简单类型数据相反,关系数据库适合存储大量复杂类型的数据.基础样例拷贝数据库相关依赖jar到工程目录下文件:orm_annotations_java.jar和orm_annotations_processor_java.jar存放目录样例:d:\programfiles\huawei\sdk\java\3.0.0.0\build-tools\lib拷贝到工程entry目

大家好,我是你的好朋友思创斯。网站金沙1005首页:https://ispacesoft.com

鸿蒙关系数据库是适合在移动设备上使用的轻量型关系型数据库,速度快,占用空间小.与轻量数据库适合存储少量简单类型数据相反,关系数据库适合存储大量复杂类型的数据.

零基础学鸿蒙编程-关系数据库[通俗易懂]

  1. 拷贝数据库相关依赖jar到工程目录下
  • 文件:orm_annotations_java.jar和orm_annotations_processor_java.jar
    存放目录样例:d:\program files\huawei\sdk\java\3.0.0.0\build-tools\lib
    零基础学鸿蒙编程-关系数据库[通俗易懂]
  • 拷贝到工程entry目录下libs里
    零基础学鸿蒙编程-关系数据库[通俗易懂]
  1. 修改工程的build.gradle文件
    添加如下行:
annotationprocessor files("./libs/orm_annotations_java.jar", "./libs/orm_annotations_processor_java.jar")

零基础学鸿蒙编程-关系数据库[通俗易懂]
3. 添加数据库对象定义:ormuser.java

@entity(tablename = "ormuser")
public class ormuser extends ormobject {
    @primarykey(autogenerate = true)
    private int id;
    private int userid;
    private string username;
    public int getid() {
        return id;
    }
    public void setid(int id) {
        this.id = id;
    }
    public int getuserid() {
        return userid;
    }
    public void setuserid(int userid) {
        this.userid = userid;
    }
    public string getusername() {
        return username;
    }
    public void setusername(string username) {
        this.username = username;
    }
}
  1. 添加数据库操作对象定义:ormdbdemo.java
@database(entities = {ormuser.class}, version = 1)
public abstract class ormdbdemo extends ormdatabase {
}
  1. 修改slice代码:mainabilityslice.java
public class mainabilityslice extends abilityslice { 

private ormcontext ormcontext;
@override
public void onstart(intent intent) { 

super.onstart(intent);
super.setuicontent(resourcetable.layout_ability_main);
findcomponentbyid(resourcetable.id_writetext).setclickedlistener(component -> write());
findcomponentbyid(resourcetable.id_readtext).setclickedlistener(component -> read());
findcomponentbyid(resourcetable.id_modifytext).setclickedlistener(component -> modify());
findcomponentbyid(resourcetable.id_deltext).setclickedlistener(component -> del());
initdb();
}
private void initdb() { 

databasehelper databasehelper = new databasehelper(this);
ormcontext = databasehelper.getormcontext("ormdbtest", "ormdbtest.db", ormdbdemo.class);
}
private void write() { 

int userid = 1;
ormuser ormuser = new ormuser();
ormuser.setuserid(userid);
ormuser.setusername("花生皮编程");
ormcontext.insert(ormuser);
ormcontext.flush();
}
private void read() { 

list<ormuser> ormusers = query();
new toastdialog(getcontext()).settext(ormusers.get(0).getusername()).show();
}
private list<ormuser> query() { 

//查询userid = 1的数据
int userid = 1;
ormpredicates ormpredicates = ormcontext.where(ormuser.class).equalto("userid", userid);
return ormcontext.query(ormpredicates);
}
private void modify() { 

//将查询出来的数据值修改后更新到数据库
ormuser ormuser = query().get(0);
if (ormuser == null) { 

return;
}
ormuser.setusername("花生皮編程2");
ormcontext.update(ormuser);
ormcontext.flush();
}
private void del() { 

//将查询出来的第一条数据从数据库中删除
ormuser ormuser = query().get(0);
if (ormuser == null) { 

return;
}
ormcontext.delete(ormuser);
ormcontext.flush();
}
}
  1. 对应页面布局文件:

<directionallayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:alignment="center" ohos:orientation="vertical">
<text ohos:id="$ id:writetext" ohos:height="match_content" ohos:width="match_content" ohos:text="写数据" ohos:text_size="20fp"/>
<text ohos:id="$ id:readtext" ohos:height="match_content" ohos:width="match_content" ohos:text="读数据" ohos:text_size="20fp"/>
<text ohos:id="$ id:modifytext" ohos:height="match_content" ohos:width="match_content" ohos:text="修改数据" ohos:text_size="20fp"/>
<text ohos:id="$ id:deltext" ohos:height="match_content" ohos:width="match_content" ohos:text="删除数据" ohos:text_size="20fp"/>
directionallayout>

ps: 上述代码已包含数据库常见的增删改查功能,代码已优化至最简。

完整源代码

https://gitee.com/hspbc/harmonyos_demos/tree/master/dbdemo



厦门大学计算机专业 | 前华为工程师
专注《》,包含:java | 安卓 | 前端 | flutter | ios | 小程序 | 鸿蒙
全网可关注:花生皮编程
零基础学鸿蒙编程-关系数据库[通俗易懂]

js555888金沙老品牌的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:https://ispacesoft.com/4655.html

(0)

相关推荐

  • 目录一、前言二、harmonyos与android的对比2.1harmonyos并不是android的替代品2.2系统定位2.3内核对比2.4运行速度三、方舟编译器一、前言这段时间我在寻思这学习一下鸿蒙,第一是因为在着手做一个自己的开源项目,技术选型的时候想到了鸿蒙;第二是我个人非常看好鸿蒙系统的未来,清除明白华为和一些民族企业担负的责任和国人的期待,虽然带着一些民族感情;鸿蒙刚发布的时候自己是非常激动的,但是后来项目太忙一直没有认真的去了解过,这次打算花一部

  • 别找了,这可能是全网最全的鸿蒙(harmonyos)刷机指南!

    本文的目的是将鸿蒙2.0刷到润和hi3861、hi3516和hi3518开发板上。目前网上已经有很多关于刷鸿蒙2.0的文章,我整理了一下,并结合自己的经验,在本文中阐述了从配置环境,到编译…

  • 怎样进行鸿蒙编程,在鸿蒙系统上使用mqtt编程[通俗易懂]

    我们使用的是pahomqtt软件包,这里介绍一下怎么使用mqtt协议编程。关于鸿蒙系统的mqtt移植好的软件包,相关github链接如下:https://gitee.com/qidiyun/harmony_mqtt这里提供一个简单的编程示例:这里我们使用mqttclient编程模型,他支持多任务多线程,非常适合用在鸿蒙系统上。1.网络初始化这里定义一个network结构体,然后指定我们的m…

  • harmonyos网络编程 –tcp服务端开发

    参考网上连老师的tcp自己整理一套tcp服务端的开发,整体思路大概如下:1、tcp服务首先需要连接wifi,采用的是sta模式,在学习tcp之前已经对wifi的功能学习过了,代码也编写好了,所以直接封装一下拿来使用就ok!…

  • harmonyos(鸿蒙)开发一文入门

    前言通过创建一个helloworld项目,运行起来之后,再来分析入门鸿蒙开发需要掌握的一些知识点。如您想直接通过金沙1005官网学习,我这里给您贴出金沙1005官网地址,或者你也可以先根据我的文章内容,看看是否对鸿蒙开发感兴趣再去金沙1005官网认真学习!知识金沙1005官网地址:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/tools_overview-00000010535823871创建项目打开开发工具devecostudio,选择file

  • 华为编程语言实验室面向qq群人员发布了华为新语言试用报名问卷调查,并表示,“填写完信息后,请您及时查收邮箱信息,由于语言还未正式发布,因此后续会联系您签署保密协议,希望您能理解,再次感谢大家的支持~”其实华为自研编程语言的消息并非是一时兴起的。去年10月,在华为开发者大会2021(together)上,harmonyos3开发者预览版正式发布。同时,华为表示,将发布自研鸿蒙编程语言。华为副总裁、计算产品线总裁邓泰华去年9月在接受采访时表示,华为明年将推出自研的编程语

  • 零基础学鸿蒙编程-常用工具_hilog

    什么是hiloghilog是鸿蒙程序用来打印日志的工具,相比于默认的控制台(println)输出,log支持分级别过滤日志,方便按照关键字进行过滤等.基础样例代码finalhiloglabellabel=newhiloglabel(hilog.log_app,0,”[花生皮编程]”);hilog.debug(label,”打印调试信息”);hilog.info(label,”打印一般信息”);hilog.warn(label,”打印警告信息”);hilog.error

  • 太强了!华为自研鸿蒙编程语言,行业大佬都已经偷偷学起来了

    华为开发者大会2021(together)上,harmonyos3开发者预览版正式发布,华为鸿蒙又是一个历史性的进步啊,而且,华为还表示,将发布自研鸿蒙编程语言!!!编程语言是什么?这其实是一个离消费者更加遥远的话题,很容易让人忽略它的重要性。编程语言呢是一种计算机和人都能识别的语言,能够让程序员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。编程语言是计算机科学与应用中一个基础的工具,但截至目前市面上尚无中国企业主导开发的主流编程语言,在其他底层

发表回复

您的电子邮箱地址不会被公开。

联系金沙1005

关注“java架构师必看”公众号

回复4,添加站长微信。

附言:ispacesoft.com网而来。

关注微信
网站地图