db模块主要用于手机本地存储。对于一些需要本地缓存数据,或者本地存储项目较常使用。
该内容对db模块进行了一些功能上的封装,减少了一些容易冗余的工序,使调用更方便。
使用该工具类需要添加:db模块、fs模块
主要功能:
1、创建数据库
2、创建数据表
3、查询数据
4、更新数据
5、删除数据表
6、清空数据表
7、切换数据表
8、批量插入数据
主要的几点使用方法:
全局使用
建立一个数据库操作对象类
var localDb = new LocalDB();
a .创建数据表
定义一个表对象
var tableObj = {
table: 'Children',
columns: [{
name: 'childrenId',
type: 'int PRIMARY KEY NOT NULL'
}, {
name: 'utilityTime',
type: 'int'
}, {
name: 'usedTime',
type: 'int'
}, {
name: 'pageType',
type: 'varchar(255)'
}, {
name: 'status',
type: 'varchar(255)'
}, {
name: 'lastTime',
type: 'varchar(255)'
}]
};创建上面的表:
localDb.createTable(tableObj, function(ret, err) {
console.log($api.jsonToStr(ret) + " --- " + $api.jsonToStr(err));
});b .查询数据
首先切换到需要查询的表:
localDb.switchTable('Children');注:以上方法执行后,相当于把数据表切换到Children表,那么对于当前localDb对象中的表的数据都是操作的Children数据。如果要操作其它的表,只需要改变上面的参数’Children‘即可。
b.1、查询所有
localDb.select(function(ret, err) {
//对查询后的结果的操作
});b.2、条件查询where(con)
localDb.where({
"childrenId": 1
}).select(function(ret, err) {
//对查询后的结果集处理
});b.3、查询字段 fields()
localDb.fields(['childrenId', 'usedTime', 'utilityTime', 'status', 'lastTime']).where({
'childrenId': item.id
}).select(function(dret, derr) {
//对结果集的处理
});更新数据
localDb.where({
'childrenId': item.id
}).update(updateData, function(ret, err) {
console.log('U->' + $api.jsonToStr(ret));
});updateData 这是一个map对象
c:批量插入
var listObj = ret.data.pageInfo.list;
for (var i = 0; i < listObj.length; i++) {
var contents = {
"contensId": listObj[i].id,
"contensDisplayTitle": listObj[i].displaytitle,
"contensVideoUrl": listObj[i].contenturl,
"contensThumbnailUrl": listObj[i].thumbnailurl,
"contensPremiumdesc": listObj[i].premiumdesc,
"enabled": listObj[i].enabled
};
localDb.insert(contents, null);
}附上工具类下载链接:
链接:https://pan.baidu.com/s/1jr9hp61oJkuJcMQyYXAmuQ
提取码:b4qy
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com
