HarmonyOS鸿蒙Next中ohos/dataorm怎么使用,从初始化到创建表,到插入数据
HarmonyOS鸿蒙Next中ohos/dataorm怎么使用,从初始化到创建表,到插入数据 我看文档只有注解的描述,没有看到怎么才能创建表,这个初始化会报错有点没看懂他是怎么创建表的,有没有大佬给点思路万分感谢🙏🙏🙏
更多关于HarmonyOS鸿蒙Next中ohos/dataorm怎么使用,从初始化到创建表,到插入数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
我直接下载源码了,下载源码直接一目了然看得懂了
更多关于HarmonyOS鸿蒙Next中ohos/dataorm怎么使用,从初始化到创建表,到插入数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中使用ohos/data/orm:
- 初始化:创建DatabaseConfig配置数据库名称和存储路径,通过RdbStore.getRdbStore()获取RdbStore实例。
- 创建表:在RdbStore.executeSql()中执行CREATE TABLE语句,或使用@DatabaseTable和@DatabaseField注解装饰实体类。
- 插入数据:通过RdbStore.insert()方法插入ValuesBucket数据,或使用实体类对象配合OrmContext.insert()操作。
关键类:RdbStore、ValuesBucket、OrmContext。需在config.json中声明数据库配置。
在HarmonyOS Next中使用ohos.data.relationalStore(DataORM)进行数据库操作的基本流程如下:
- 初始化数据库:
import relationalStore from '[@ohos](/user/ohos).data.relationalStore';
const config = {
name: 'myDatabase.db',
securityLevel: relationalStore.SecurityLevel.S1
};
let store;
relationalStore.getRdbStore(context, config, (err, rdbStore) => {
store = rdbStore;
});
- 创建表(通过执行SQL):
const sql = `CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)`;
store.executeSql(sql);
- 插入数据:
const valueBucket = {
'name': '张三',
'age': 25
};
store.insert('user', valueBucket);
常见问题解决方案:
- 初始化报错检查context是否正确传递
- 表创建失败检查SQL语法是否正确
- 插入数据确保字段名与表结构一致
建议配合@ohos.data.orm使用注解定义实体类会更方便:
@Entity("user")
class User {
@PrimaryKey()
id: number = 0;
@ColumnInfo("name")
name: string = "";
@ColumnInfo("age")
age?: number;
}
注意数据库操作需要申请ohos.permission.DATA_STORAGE权限。