Skip to content

快速上手

介绍

通过本章节你可以了解到 IBest-ORM 的安装方法和基本使用姿势。

TIP

• 由于api功能限制, 不支持在预览器调试。
请在 模拟器真机 上调试!
请在 模拟器真机 上调试!
请在 模拟器真机 上调试!

一、安装

TIP

• 如果想固定版本, 将 ^ 去掉即可;
• 如果想使用之前的某个版本, 请先使用以下命令安装IBest-ORM, 然后在根目录下 oh-package.json5 中, 将 dependencies 中 "@ibestservices/ibest-orm" 后面的版本号修改为想要使用的版本号, 点击右上角 Sync now 即可;
• 不建议使用 ohpm install @ibestservices/ibest-orm@版本号 的方式安装对应版本;

components

组件库版本与api版本对应关系

组件库版本sdk版本
v1.0.0及以上api17 以上
shell
ohpm install @ibestservices/ibest-orm

二、初始化

ts
import { IBestORMInit } from '@ibestservices/ibest-orm';

onWindowStageCreate(windowStage: window.WindowStage): void {
  windowStage.loadContent('pages/Index', (err, data) => {
    // 在此处初始化工具库!!!
    // 在此处初始化工具库!!!
    // 在此处初始化工具库!!!
    IBestORMInit(this.context, {
        name: "database.db",
        securityLevel: relationalStore.SecurityLevel.S1
    })
  })
}

三、使用

ts
import { GetIBestORM } from '@ibestservices/ibest-orm';
import { Table, Field, FieldType, Model } from '@ibestservices/ibest-orm';
import { relationalStore } from '@kit.ArkData';

@Table
export class User extends Model {
  /**
   * 名字
   */
  @Field({ type: FieldType.TEXT })
  Name?: string
  /**
   * 年龄
   */
  @Field({ type: FieldType.INTEGER })
  Age?: number

  /**
   * 没有被装饰器装饰的字段, 不会被映射成表字段,
   */
  Salary?: number

  constructor(name: string, age: number) {
    super();
    this.Name = name
    this.Age = age
  }
}

@Entry
@Component
export struct DemoPage {
  private db = GetIBestORM();

  onPageShow(){
    this.db.AutoMigrate(User);
    const user = new User("zhangsan", 18);
    this.db.Create(user);

    const valueBucket: relationalStore.ValuesBucket = {
      Name: 'ming',
      Age: 18,
    };
    this.db.Table("User").Insert(valueBucket);
    // Or
    // this.db.Session(User).Insert(valueBucket);
    let result = this.db.Table("User").Where('age', 18).Find();
    // ...
  }

  build(){}
}