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

前言

之前总结了关系型数据库的各种api,今天分享一下关系型数据库的基本使用

代码

  • 定义数据库的各项配置
const storeConfig: relationalStore.StoreConfig = {
  name: 'myStore.db',
  securityLevel: relationalStore.SecurityLevel.S3,
  encrypt: true,
};

配置详情

  • 获取数据库操作句柄
relationalStore.getRdbStore(this.context, storeConfig)
  .then(store => {
       // 以下的操作,都在这里
  });
  • 判断数据库的版本,初始化建表
if (store.version === 0) {
  store.executeSql(`CREATE TABLE IF NOT EXISTS TODO (
    ID INTEGER PRIMARY KEY AUTOINCREMENT,
    NAME TEXT NOT NULL
    )`)
    .then(() => {
      rdb.version = 1;
    })
}
  • 插入数据
store.insert('TODO', {name: '测试'})
  .then(() => {
    console.log('成功');
  })
  .catch((err: ESObject) => {
    console.log('失败', err);
  });
  • 查询数据
const predicates = new relationalStore.RdbPredicates('TODO');
const resultSet = db.querySync(predicates);

let ValuesBucketArray: ValuesBucket[] = [];
console.log('resultSet.rowCount', resultSet.rowCount);
if (resultSet.rowCount > 0) {
  resultSet.goToFirstRow();
  do {
    const ValuesBucket = resultSet.getRow() as ValuesBucket;
    ValuesBucketArray.push(ValuesBucket);
  } while (resultSet.goToNextRow());
}
resultSet.close();

console.log(JSON.stringify(ValuesBucket))
  • 修改数据
const predicates = new relationalStore.RdbPredicates('TODO');
predicates.equalTo('NAME', '测试');

store.update({ name: '急急急' }, predicates);
  • 删除数据
const predicates = new relationalStore.RdbPredicates('TODO');
predicates.equalTo('NAME', '急急急');

store.delete(predicates);
以上就是基本的使用,可以根据自己项目进行简易的封装

你可能感兴趣的:(harmonyos-next)