Uniapp 数据持久化 与 sqlite
在uniapp中,数据持久化可以通过多种方式实现,包括使用SQLite数据库。以下是使用uniapp结合SQLite进行数据持久化的基本步骤和示例代码:
- 导入
plus.sqlite
模块。 - 使用
plus.sqlite
创建或打开数据库。 - 使用
executeSql
方法执行SQL语句。
示例代码:
// 导入plus.sqlite模块
const sqlitePlugin = weex.requireModule('plus.sqlite')
// 创建或打开数据库
sqlitePlugin.openDatabase({
name: 'myDatabase',
location: 'default',
success(e) {
console.log('数据库创建或打开成功:' + JSON.stringify(e))
// 创建数据表
sqlitePlugin.executeSql({
name: 'myDatabase',
sql: 'CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)'
}, () => {
console.log('数据表创建成功')
}, (e) => {
console.log('创建数据表失败:' + JSON.stringify(e))
})
},
fail(e) {
console.log('数据库创建或打开失败:' + JSON.stringify(e))
}
})
// 插入数据
sqlitePlugin.executeSql({
name: 'myDatabase',
sql: 'INSERT INTO user (name, age) VALUES (?, ?)',
replacement: ['张三', 25]
}, () => {
console.log('数据插入成功')
}, (e) => {
console.log('数据插入失败:' + JSON.stringify(e))
})
// 查询数据
sqlitePlugin.executeSql({
name: 'myDatabase',
sql: 'SELECT * FROM user'
}, (e) => {
if (e.rows.length > 0) {
console.log('查询结果:' + JSON.stringify(e.rows))
} else {
console.log('没有查询到数据')
}
}, (e) => {
console.log('查询失败:' + JSON.stringify(e))
})
请注意,在真实的uniapp项目中,你需要确保有适当的权限去访问设备的文件系统,并且处理好数据库版本管理和迁移的问题。此外,SQLite的操作是异步的,你可能需要使用Promise或者回调函数来处理操作结果。
评论已关闭