当前位置: 首页 > wzjs >正文

山西自助建站费用低最好看免费观看高清大全英雄联盟

山西自助建站费用低,最好看免费观看高清大全英雄联盟,中山学校网站建设,网站建设 微盘文章目录 介绍下载安装基本使用注解TableIdColumnOneToOne 使用方法定义实体类初始化数据库并根据被Table注解的类创建表创建表查数据插入数据删除数据清空数据 参考 介绍 ZDbUtil是一款基于SQLite的鸿蒙数据库框架,通过注解标注实体类与属性,让数据更能…

文章目录

    • 介绍
    • 下载安装
    • 基本使用
      • 注解
        • Table
        • Id
        • Column
        • OneToOne
      • 使用方法
        • 定义实体类
        • 初始化数据库并根据被@Table注解的类创建表
        • 创建表
        • 查数据
        • 插入数据
        • 删除数据
        • 清空数据
    • 参考

介绍

ZDbUtil是一款基于SQLite的鸿蒙数据库框架,通过注解标注实体类与属性,让数据更能抽象化简化原生RdbStore的使用。同时支持V1和V2状态管理管理。

SQLite在鸿蒙上的基本使用可以参考:鸿蒙应用开发—数据持久化之SQLite

下载安装

在每个har/hsp模块中,通过ohpm工具下载安装库:

ohpm install @hzw/zdb

基本使用

注解

Table

表名为类名。

Id
  • 参数
    • primaryKey: 是否主键
    • autoIncrement: 是否自增
Column
  • 参数:
    • type: 列类型,查看ColumnType
    • notNull: 是否为空
    • unique: 是否唯一
OneToOne
  • 参数:
    • joinTable: 关联表的类
    • relatedIdProperty: 关联id属性名

使用方法

定义实体类

只要添加了@Table注解,@Id注解,@Column注解
在初始化数据库时,会自动创建表,并添加列。

import { Column, ColumnType, Id, OneToOne, Table } from '@hzw/zdb';// 分类
@Table()
export class StudentClassify {// id@Id({ primaryKey: true, autoIncrement: true })@Column({ type: ColumnType.Integer })id?: number// 名称@Column({ type: ColumnType.Text })name?: string// 创建时间@Column({ type: ColumnType.Integer })createTime?: number// 更新时间@Column({ type: ColumnType.Integer })editTime?: number | undefined
}// 学生
@Table()
export class StudentInfo {// id@Id({ primaryKey: true, autoIncrement: true })@Column({ type: ColumnType.Integer })id?: number | undefined// 标题@Column({ type: ColumnType.Text })title?: string | undefined// 创建时间@Column({ type: ColumnType.Integer })createTime?: number | undefined// 是否管理员@Column({ type: ColumnType.Boolean })isManager?: boolean | undefined// 分类id@Column({ type: ColumnType.Integer })classifyId?: number | undefined// 分类@OneToOne({ joinTable: StudentClassify, relatedIdProperty: "classifyId" })classify?: StudentClassify | undefined
}
初始化数据库并根据被@Table注解的类创建表
ZDbUtil.initDatabase({context: this.context
})
创建表

如果类不被@Table注解,则需要手动

// 定义表的数据结构
const student: StudentInfo2 = {"id": 0,"title": "","createTime": 0,"isManager": false,"classifyId": 0,
}
// 创建表
// 第一个参数是表的数据结构
// 第二个参数是表名
// 第三个参数是id名
ZDbUtil.initTableByName(student, "Student", "id").then(() => {promptAction.showToast({ message: "创建成功" });
})
查数据

如果查询的数据类型有被@Table注解,则通过这种方式查询数据

ZDbUtil.querySqlBuilder<StudentClassify>(StudentClassify).limitAs(this.pageSize).offsetAs(this.page * this.pageSize)// ....query().then((data) => {})

否则通过这种方式查询数据

// 定义表的数据结构
const student: StudentInfo2 = {"id": 0,"title": "","createTime": 0,"isManager": false,"classifyId": 0,
}
// 定义关联表的数据结构
const classify: StudentClassify2 = {"id": 0,"name": "","createTime": 0,"editTime": 0,
}
// 查询表
// 第一个参数是表的数据结构
// 第二个参数是表名
// 第三个参数是id名
ZDbUtil.querySqlObjBuilder(student, "Student", "id")// 关联表// 第一个参数是关联表的数据结构// 第二个参数是关联表的表名// 第三个参数是关联表的id名// 第四个参数是与关联表关联的id字段名// 第五个参数是存放关联表数据的字段名.initJoinTableInfo(classify, "Classify", "id", "classifyId", "classify").limitAs(this.pageSize).offsetAs(this.page * this.pageSize).query().then((data) => {this.list = data;})
插入数据

data类型确定,且被@Table注解,直接插入数据

ZDbUtil.insertOrReplace(data).then(() => {promptAction.showToast({ message: "添加成功" });
})

data类型是Object,通过传入被@Table注解的类,插入数据

// 插入数据
// 第一个参数为插入的数据
// 第二个参数为被@Table注解的类,数据将会被插入到与注解类关联的表中
ZDbUtil.insertOrReplaceByCls(data, StudentClassify).then(() => {promptAction.showToast({ message: "添加成功" });
})

data类型是Object,通过传入表名插入数据

// 插入数据到数据库
// 第一个参数是插入的数据
// 第二个参数是表名
ZDbUtil.insertOrReplaceByName(data, "Student").then(() => {promptAction.showToast({ message: "添加成功" });this.loadData()
})
删除数据

data类型确定,且被@Table注解,直接删除数据

ZDbUtil.delete(item).then(() => {promptAction.showToast({ message: "删除成功" });
})

data类型是Object,通过传入被@Table注解的类,删除数据

ZDbUtil.deleteByCls(data, StudentInfo).then(() => {promptAction.showToast({ message: "删除成功" });
})

直接通过传入表名,id名,id的值删除数据

// 第一个参数是表名
// 第二个参数是id名
// 第三个参数是id的值
ZDbUtil.deleteByName("Student", "id", item.id).then(() => {promptAction.showToast({ message: "删除成功" });this.loadData()
})
清空数据

根据被@Table注解的类,清空与之关联的表的所有数据

ZDbUtil.clear(StudentInfo).then(() => {promptAction.showToast({ message: "清空成功" });
})

根据表名,清空该表的所有数据

ZDbUtil.clearByName("Classify").then(() => {promptAction.showToast({ message: "清空成功" });this.selectClassify = undefinedthis.loadClassify()this.loadData()
})

参考

  • https://blog.csdn.net/xiaolang555w_w/article/details/145677007
  • 源码:https://gitee.com/HW-Commons/ZDbUtil
  • OH仓库:https://ohpm.openharmony.cn/#/cn/detail/@hzw%2Fzdb

文章转载自:

http://cK5zJhN7.rcyrm.cn
http://P6sjgxCV.rcyrm.cn
http://CiG9QbSD.rcyrm.cn
http://fDzZ8Plp.rcyrm.cn
http://isOmhO9x.rcyrm.cn
http://bdW4Rd4x.rcyrm.cn
http://y8azJeiR.rcyrm.cn
http://x4Jd8EqE.rcyrm.cn
http://jn43o6l7.rcyrm.cn
http://nz21hlTt.rcyrm.cn
http://Azsq84Y0.rcyrm.cn
http://7kbgaJZ7.rcyrm.cn
http://IFP23xGt.rcyrm.cn
http://8zvPBZU0.rcyrm.cn
http://EHvIMeSK.rcyrm.cn
http://pvUFH2at.rcyrm.cn
http://GJQ4oXod.rcyrm.cn
http://zcIhv0RL.rcyrm.cn
http://RvSayAPS.rcyrm.cn
http://IHS8K3iP.rcyrm.cn
http://1jBinzgz.rcyrm.cn
http://mho51vBX.rcyrm.cn
http://ZLpiF1MT.rcyrm.cn
http://AoAbMgeF.rcyrm.cn
http://hLfGFedu.rcyrm.cn
http://FctIm0D3.rcyrm.cn
http://bLwRI1Bf.rcyrm.cn
http://twfxC37r.rcyrm.cn
http://Rh7y4nZN.rcyrm.cn
http://eKstGPuh.rcyrm.cn
http://www.dtcms.com/wzjs/674070.html

相关文章:

  • 企业网站怎么做才能留住客户自己建网站流程要学什么
  • 做网站收费 知乎做直播导航网站好
  • 家庭农场做网站的好处企业网站收录
  • 网页设计与网站建设的理解宿迁房价最新价格表
  • 沈阳网站建设建设公司昆山做网站公司有哪些
  • 建设银行网站会员2022电商平台哪个值得做
  • 重庆点优定制网站建设网站建设kpi考核
  • 一个云主机可以做多少网站陕西省建设工程招投标信息网官网
  • 网站建设费入如保入账东莞莞城建筑工程有限公司
  • 网站建设数据录入我要找工作 招聘附近
  • 建站之星视频手机网站建站教育模板
  • 德州金航网络公司网站建设网站建设进度表模板下载
  • 玉林市住房和城乡建设局网站云建站网址
  • 郑州营销型网站公司电话响应式网站开发支持ie6解决
  • 建设网站哪个便宜wordpress 地图
  • 哪个网站可以找人做清洁如何提高网站的收录
  • 文秘写作网站网站建设说课获奖视频
  • 怎么做脱机网站什么是电子商务网站建设的基本要求
  • 免费的推文制作网站如何创建自己的网站平台
  • 腾讯风铃做的网站有期限吗营业执照注册流程
  • 网站做整合页面社交营销
  • 成立公司怎么做网站手机网站幻灯片
  • 做电商网站用什么软件开发广州网站案例展示
  • 电子商务网站建设价格网站添加站长统计代码
  • 阳光保险官方网站青岛住房和城乡建设部网站
  • 网站增加流量贵阳网络推广公司哪家强
  • 购物商城网站开发深圳营销型网站公司
  • 重庆电子商务网站seo如何做旅游网站推广
  • 电脑主机做网站服务器数据分析网站怎么做
  • 永久免费自助建站推荐北京城乡住房建设部网站