更新记录
1.0.2(2023-06-08)
1、修复iOS 更新数据报错问题 2、修复ios 查询数据问题
1.0.1(2023-06-05)
1、支持count查询 2、支持 where中使用 ?配合args 3、支持表删除
0.0.3(2021-12-09)
无
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:11 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
数据库原生插件说明文档
1、功能介绍
1、该插件封装了sqlite的数据库,可对数据进行增、删、改、查,并支持多数据插入,更新,删除等; 2、无需写sql,可以直接插入json对象; 3、可自定义设置查询条件,修改条件,删除条件; 4、支持sql大部分语法;
5、支持删除表
6、支持查询数据量
7、支持变量
引用的第三方库
iOS :fmdb
androd: sqlbrite
2、api接口介绍(该插件为原生插件,需自定义基座才可以使用)
引入插件
const sqliteTool=uni.requireNativePlugin("Cl-Sqlite");
sqliteTool.initDB("test.db"); //设置数据库名称;
创建数据库表,该操作需写sql,
*api介绍**
提示:
<!--**where中如果有变量需要查人,建议使用?和args配合使用;-->
1、创建表
//不支持BLOB
//支持
NULL. 值是空值;
INTEGER. 值是有符号整数,根据值的大小以1,2,3,4,6 或8字节存储。即整型int;
REAL. 值是浮点数,以8字节 IEEE 浮点数存储。即float 或 double;
TEXT. 值是文本字符串,使用数据库编码(UTF-8, UTF-16BE 或 UTF-16LE)进行存储。 即字符串String
sqliteTool.onExecute(
{
sql:"CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, weight REAL)"
},result=>{
//结果;
uni.showModal({
content:JSON.stringify(result)
})
}
);
2、判断表是否存在
//设置数据库名称;
sqliteTool.initDB("test.db");
//判断 数据库中的 表是否存在;
sqliteTool.isTableExist("Test",result=>{
//1存在,0存在;
if(result.code==0)
{
this.creatData();
}
})
3、单条数据插入
sqliteTool.insertData({
tableName:"Test",
data:{"name":"张三","age":30,"weight":65.12}
},result=>{
uni.showModal({
content:JSON.stringify(result)
})
});
4、多条数据插入
//tableName, 表名 必传
// datas 插入的数据 必传
let ar=[];
for(let i=0;i<100;i++)
{
ar.push({"name":"小明","age":24,"weight":65.12});
}
sqliteTool.insertDatas(
{
tableName:"Test",
datas:ar,
},result=>{
uni.showModal({
content:JSON.stringify(result)
})
});
5、更新数据
//tableName, 表名 必传
data 插入的数据 必传
where 条件 必传,条件没有限制,只要符合sql语法,如果where 中包含? 需传args
sqliteTool.updateData({
tableName:"Test",//必填
data:{"name":"gray","age":28,"weight":65.12},//必填
where:"id>?",//必填
args:[3]
},result=>{
uni.showModal({
content:JSON.stringify(result)
})
});
6、执行多条数据的更新,内部执行事务处理
//tableName, 表名 必传
//datas 更新的数据(数组);必传
//data 更新的数据; 必传
//where 条件 必传, 条件没有限制,只要符合sql语法,如果where 中包含? 需传args
sqliteTool.updateDatas({
tableName:"Test",
datas:[
{
data:{"name":"han123","age":100},
where:"age = ?",
args:[3]
},
{
data:{"name":"ha11123","age":111},
where:"age = ?"
args:[10]
}
]
},result=>{
//结果;code:0失败,1成功,2参数为空
uni.showModal({
content:JSON.stringify(result)
})
});
7、删除数据
//tableName, 表名 必传
//where 条件 必传,条件可以根据sql语法自定义,如果where 中包含? 需传args
/**
方式一
* */
sqliteTool.removeData({
tableName:"Test",
where:"name='ha'", where 条件没有限制,只要符合sql语法
},
result=>{
//结果;code:0失败,1成功,2参数为空
uni.showModal({
content:JSON.stringify(result)
})
})
/**
方式二
* */
sqliteTool.removeData({
tableName:"Test",
where:"name=?", where 条件没有限制,只要符合sql语法
args:["han"]
},
result=>{
//结果;code:0失败,1成功,2参数为空
uni.showModal({
content:JSON.stringify(result)
})
})
8、删除多条数据
//tableName, 表名 必传
//wheres 条件 必传
sqliteTool.removeDatas({
tableName:"Test",//必填
datas:[
{
where:"age = ?",
args:[100]
},
{
where:"age = ?",
args:[12]
},
{
where:"age = ?",
args:[16]
},
{
where:"age = ?",
args:[11]
},
{
where:"id = ?",
args:[14]
},
]
},
result=>{
uni.showModal({
content:JSON.stringify(result)
})
})
9、查询数据
//tableName, 表名 必传
//where 条件 可选; 如果数据比较多,进行分页查询,具体用法参考sql语法
sqliteTool.query({
tableName:"Test",
where:"id > ? ORDER BY id DESC LIMIT 50 ",
args:[1]
},result=>{
uni.showModal({
content:JSON.stringify(result)
})
});
10、删除表
sqliteTool.removeTable("Test",result=>{
uni.showModal({
content:JSON.stringify(result)
})
});
10、查询表数据量(count)
sqliteTool.queryDataCount({
"tableName":"Test",
where:"age>?", //可填
args:[20] //可填;如果where中包含? 这个参数需传
},result=>{
uni.showModal({
content:JSON.stringify(result)
})
});