当前位置:首页 > uni-app

UNiapp SQLlte

2026-03-26 15:18:32uni-app

在 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)
});

关闭数据库

操作完成后关闭数据库连接:

UNiapp SQLlte

sqlite.closeDatabase({
  success: () => console.log('数据库关闭成功'),
  fail: err => console.error('数据库关闭失败', err)
});

原生平台差异

  • Android: 需确保 android.permission.WRITE_EXTERNAL_STORAGE 权限。
  • iOS: 数据库路径通常位于应用沙盒内,无需额外权限。

注意事项

  • SQLite 操作是异步的,需通过回调处理结果。
  • 复杂查询建议使用事务(beginTransaction/commitTransaction)。
  • 生产环境需处理数据库升级和备份。

通过以上方法,可在 UniApp 中实现基本的 SQLite 数据库操作。

标签: UNiappSQLlte
分享给朋友: