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