更新记录

0.1.7(2025-08-26)

  • chore: 更新文档

0.1.6(2025-05-10)

  • fix: IOS 因errMsg报错

0.1.5(2025-05-03)

  • fix: IOS 因errCode报错
查看更多

平台兼容性

uni-app x(4.72)

Chrome Safari Android iOS 鸿蒙 微信小程序
5.0 -

lime-sqlite SQLite数据库组件

一个参考 plus.sqlite API 实现的 SQLite UTS API 组件,兼容 UniAppX(安卓、iOS、鸿蒙Next)平台。提供了数据库的打开、关闭、查询、执行SQL语句等功能,可用于本地数据存储、缓存、配置管理等多种应用场景。组件提供了简单易用的接口,使开发者能够方便地在应用中使用SQLite数据库。

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场中搜索并导入lime-sqlite
  2. 导入后在页面引入相关方法
  3. iOS平台如果是Windows开发环境需要自定义基座

代码演示

打开数据库

创建或打开一个SQLite数据库:

import { openDatabase, type DatabaseOptions } from '@/uni_modules/lime-sqlite'

openDatabase({
  // 支持路径,例如 '/static/db/test.db'
  // 鸿蒙不支持路径
  // web支持路径,是通过下载的方式,但数据并不存在路径文件里
  name: 'text',
  success(res) {
    console.log('openDatabase', res)
  },
  fail(err) {
    console.log('openDatabase', err)
  }
} as DatabaseOptions)

判断数据库是否打开

检查指定的数据库是否已经打开:

import { isOpenDatabase, type DatabaseOptions } from '@/uni_modules/lime-sqlite'

isOpenDatabase({
  name: 'text',
  success(res) {
    console.log('isOpenDatabase', res)
  },
  fail(err) {
    console.log('isOpenDatabase', err)
  }
} as DatabaseOptions)

关闭数据库

关闭已打开的数据库:

import { closeDatabase, type DatabaseOptions } from '@/uni_modules/lime-sqlite'

closeDatabase({
  name: 'text',
  success(res) {
    console.log('closeDatabase', res)
  },
  fail(err) {
    console.log('closeDatabase', err)
  }
} as DatabaseOptions)

执行事务

开始、提交或回滚数据库事务:

import { transaction,type SqlTransactionOptions } from '@/uni_modules/lime-sqlite'

transaction({
  name: 'text',
  operation: 'begin', // 'begin'、'commit'或'rollback'
  success(res) {
    console.log('transaction', res)
  },
  fail(err) {
    console.log('transaction', err)
  }
} as SqlTransactionOptions)

执行增删改等操作的SQL语句

执行不返回结果集的SQL语句,如CREATE、INSERT、UPDATE、DELETE等:

import { executeSql, type SqlOperationOptions } from '@/uni_modules/lime-sqlite'

executeSql({
  name: 'text',
  sql: [
    "CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER)",
    "INSERT INTO test (name, age) VALUES ('Alice', 30)",
    "INSERT INTO test (name, age) VALUES ('Bob', 25)",
    "INSERT INTO test (name, age) VALUES ('Charlie', 35)"
  ],
  success(res) {
    console.log('executeSql', res)
  },
  fail(err) {
    console.log('executeSql', err)
  }
} as SqlOperationOptions)

执行查询的SQL语句

执行返回结果集的SQL语句,如SELECT:

import { selectSql,type SqlOperationOptions } from '@/uni_modules/lime-sqlite'

selectSql({
  name: 'text',
  sql: ['select * from test'],
  success(res) {
    console.log('selectSql', res)
  },
  fail(err) {
    console.log('selectSql', err)
  }
} as SqlOperationOptions)

获取数据库路径

获取数据库文件在本地存储中的路径:

import { getDatabasePath } from '@/uni_modules/lime-sqlite'

const url = getDatabasePath('text');
// web 返回的是blob

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

<!-- 代码位于 uni_modules/lime-sqlite/components/lime-sqlite -->
<lime-sqlite />

插件标签说明

标签名 说明
l-sqlite 组件标签
lime-sqlite 演示标签

详细配置请参考官方文档:Vue Composition API

API文档

数据库操作函数

函数名 说明 参数
openDatabase 打开数据库 options: DatabaseOptions
isOpenDatabase 判断数据库是否打开 options: DatabaseOptions
closeDatabase 关闭数据库 options: DatabaseOptions
transaction 执行事务 options: SqlTransactionOptions
executeSql 执行增删改等操作的SQL语句 options: SqlOperationOptions
selectSql 执行查询的SQL语句 options: SqlOperationOptions
getDatabasePath 获取数据库路径 name: string

DatabaseOptions 选项

参数 说明 类型 必填
name 数据库名称 string
path 数据库路径 string
success 成功回调函数 (res: any) => void
fail 失败回调函数 (err: any) => void

SqlTransactionOptions 选项

参数 说明 类型 必填
name 数据库名称 string
operation 事务操作类型 'begin' | 'commit' | 'rollback'
success 成功回调函数 (res: any) => void
fail 失败回调函数 (err: any) => void

SqlOperationOptions 选项

参数 说明 类型 必填
name 数据库名称 string
sql SQL语句数组 string[]
success 成功回调函数 (res: any) => void
fail 失败回调函数 (err: any) => void

功能特点

  • 兼容UniAppX(安卓、iOS、鸿蒙Next)平台
  • 参考plus.sqlite API实现,使用方式类似
  • 支持数据库的基本操作:打开、关闭、查询、执行SQL语句等
  • 支持事务处理
  • 支持批量执行SQL语句
  • 提供简单易用的接口,降低使用SQLite的门槛

常见问题

  • iOS平台在Windows开发环境下需要自定义基座
  • 鸿蒙平台不支持通过路径方式打开数据库
  • Web平台支持路径方式,但数据并不实际存储在文件中
  • 使用完数据库后应及时关闭,避免资源泄漏
  • 大量数据操作建议使用事务提高性能
  • 可以参考plus.sqlite文档了解更多用法

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: