UNiapp SQLlte
在 UniApp 中使用 SQLite
SQLite 是一种轻量级的嵌入式数据库,适用于移动端和小型应用。UniApp 作为跨平台框架,可以通过插件或原生能力集成 SQLite。
使用 SQLite 插件
UniApp 官方未内置 SQLite 支持,但可通过第三方插件实现。推荐使用 uni-app-sqlite 插件或原生模块。
安装插件后,在 manifest.json 中配置:
"plugins": {
"sqlite": {
"version": "1.0.0",
"provider": "插件ID"
}
}
初始化数据库
在页面或组件中引入插件并初始化数据库:
const sqlite = uni.requireNativePlugin('sqlite');
const dbPath = '_doc/test.db'; // 数据库路径
sqlite.openDatabase({
path: dbPath,
success: () => console.log('数据库打开成功'),
fail: err => console.error('数据库打开失败', err)
});
执行 SQL 操作
创建表并插入数据:
sqlite.executeSql({
sql: 'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)',
success: () => console.log('表创建成功'),
fail: err => console.error('表创建失败', err)
});
sqlite.executeSql({
sql: 'INSERT INTO users (name) VALUES (?)',
params: ['John'],
success: () => console.log('数据插入成功'),
fail: err => console.error('数据插入失败', err)
});
查询数据
通过 executeSql 查询数据并处理结果:
sqlite.executeSql({
sql: 'SELECT * FROM users',
success: res => {
console.log('查询结果:', res.result);
},
fail: err => console.error('查询失败', err)
});
关闭数据库
操作完成后关闭数据库连接:

sqlite.closeDatabase({
success: () => console.log('数据库关闭成功'),
fail: err => console.error('数据库关闭失败', err)
});
原生平台差异
- Android: 需确保
android.permission.WRITE_EXTERNAL_STORAGE权限。 - iOS: 数据库路径通常位于应用沙盒内,无需额外权限。
注意事项
- SQLite 操作是异步的,需通过回调处理结果。
- 复杂查询建议使用事务(
beginTransaction/commitTransaction)。 - 生产环境需处理数据库升级和备份。
通过以上方法,可在 UniApp 中实现基本的 SQLite 数据库操作。
