更新记录
1.0.1(2024-05-13) 下载此版本
1.数据库添加事务 start_transaction
、rollback
、end_transaction
等
2.根据id更新指定字段数据 updateById(id,key,value)
1.0.0(2024-05-13) 下载此版本
1.数据库添加事务 start_transaction
、rollback
、end_transaction
2.根据id更新指定字段数据 updateById(id,key,value)
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.1.0 app-vue app-nvue | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
SqliteDB
一个基于uni-app plus.sqlite 的kv数据库,支持增删查改,多数据库,多表,自定义序列化器,反序列化器等
快速开始
Step 1 引入文件
import SqliteDB from '@/uni_modules/wsn-sqlite/js_sdk/sqlite.js'
Step 2 初始化地址
第一个参数是数据库名,第二个参数是数据库地址
const db = await SqliteDB.buildDefaultSqliteDB('testDb', 'path')
Step 3 创建表
第一个参数是表名
db.setTableName('user')
await db.createTable()
Step 4 增删查改
put:添加或修改数据
key:列名,value:值
let data = {
username: '刘德华'
}
await db.put(data)
get:获取数据,若不存在返回null
根据id查询
await db.get()
remove:删除数据
指定id删除
await db.remove(id)
API
API都在SqliteDB类上,一个SqliteDB代表一个数据库的一个表
api | 参数1类型 | 参数2类型 | 返回值类型 | 说明 |
---|---|---|---|---|
static async buildDefaultSqliteDB(dbName, tableName) | String | String | SqliteDB | 创建一个SqliteDB,会自动初始化 |
async put(rows) | Object | 设置值,不存在插入,存在则更新 | ||
async query(key,value) | String | String | Object | 获取值,不存在返回null |
async remove(key,value) | String | String | 移除值 | |
async containsKey(key,value) | String | String | Boolean | 表是否包含key |
async clear() | 清空表 | |||
async size() | Number | 获取表的记录数 | ||
async isEmpty() | Boolean | 表是否为空 | ||
setKeySerializer(serializer) | Object => Object | 设置key序列化器 | ||
setKeyDeserializer(deserializer) | Object => Object | 设置key反序列化器 | ||
setValueSerializer(serializer) | Object => Object | 设置value序列化器 | ||
setValueDeserializer(deserializer) | Object => Object | 设置value反序列化器 | ||
getDbName() | String | 获取数据库名 | ||
getTableName() | String | 获取表名 |
其他API,同样在SqliteDB上,用于实现上面的API,有风险,若使用请谨慎
api | 参数1类型 | 参数2类型 | 返回值类型 | 说明 |
---|---|---|---|---|
constructor(dbName, tableName) | String | String | SqliteDB | 构造器,构造一个SqliteDB,需要自行初始化 |
async init() | 初始化(通过new SqliteDB()创建实例时需要调用) | |||
async openDb() | 打开数据库,打开后可以对数据库进行操作 | |||
async closeDb() | 关闭数据库,关闭后会释放资源,对数据库的操作将失败 | |||
isOpenDb() | Boolean | 数据库是否打开 | ||
async createTable() | 创建表 | |||
async removeTable() | 删除表 | |||
checkDb() | 检查数据库是否正常 | |||
async executeSQL(sql) | String | 执行SQL的封装 | ||
async selectSQL(sql) | String | Array<Object> | 查询SQL的封装 |