前言
之前总结了关系型数据库的各种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);
以上就是基本的使用,可以根据自己项目进行简易的封装