浏览器数据库IndexedDb CURD类和cookie CURD封装类
2018-02-24 15:20
686 查看
该项目封装了web网页离线存储数据库indexedDb和cookie操作类,方便网页编程时更有效方便的本地存储一些数据,一个重要特性是本地数据持久性,它使用户能够在线和离线访问 Web 应用程序。此外,本地数据持久性使移动应用程序更灵敏,使用的带宽更少,而且能够在低带宽场景中更高效地工作。indexedDb提供了一些本地数据持久性选项。IndexedDB(一个更加强大的选项)支持您本地存储大量对象,并使用健壮的数据访问机制检索数据。您可以使用它创建具有丰富本地存储数据的数据密集型应用程序,包括创建数据库。此外还支持网页数据库,存储表(localstorage)以及字段的增删改查。还预留了IndexedDB API 的许多更高级的功能,包括事务处理、索引和游标接口
数据库连接
IndexedDb操作类IndexedDb(dbName,connCallback,databaseVersion) /** *param:dbName 数据库名称 *param:connCallback:{ * connSuccess:function(self){ * //连接成功回调self当前类实例 * }, * connUpgrade:function(self){ * //连接成功回调self当前类实例 * }, * connError:function(e){ * //连接失败返回错误信息 * } *} *param:databaseVersion 数据库版本 **/ //创建表结构函数 createTable(tableName,keyPath,callback) /** *param:tableName 表名称 *param:keyPath 数据表索引列名称 *param:callback:{ * success:function(){} //执行成功回调 *} **/ ######例如###### var dbs=new IndexedDb('databaseName',{ connUpgrade: function (self) { //首次连接或数据库版本更新时触发 self.createTable("TableName1",'KeyPath1',{ //当需要创建表时需要更新版本来触发connUpgrade方法,connUpgrade回调外调用createTable来创建表的方法是错误的 success:function (objectStore) { // 创建一个索引来通过 name 搜索客户。 // 可能会有重复的,因此我们不能使用 unique 索引。 objectStore.createIndex('name','name',{unique:false}); // 创建一个索引来通过 email 搜索客户。 // 我们希望确保不会有两个客户使用相同的 email 地址,因此我们使用一个 unique 索引。 objectStore.createIndex('email','email',{unique:true}); } }) //创建另一张表TableName2 self.createTable(TableName2,'keyPath2') }, connSuccess:function (self) { //连接成功回掉数据库操作类实例 }, connError:function(e){ //如果连接失败 console.log(e); } })
添加表数据
函数原型 add(tableName,data,callback)/** *param:tableName 要操作的表名称 *param:data 要添加的数据,结构需与创建表结构createTable时定义的相同 *param:callback:{ 添加完成回调 * success:function () {} * complete:function(e){}, * error:function(e){} *} **/ dbs.add("TableName1",{ 'KeyPath1':'1111', 'name':'ggc', 'email','abc@qq.com' },{ success:function () {}, complete:function(e){}, error:function(e){} })
获取表数据
函数原型:get(tableName,keyPathVal,callback)/** *param:tableName 要操作的表名称 *param:keyPathVal 索引列的值 *callback:{ * success:function (result) { * console.log(result); * }, * complete:function(e){}, * error:function(e){} *} **/ //注意该方法已readonly方式打开,需要更新数据请使用set方法 dbs.get("TableName1","keyPath1_Value",{ success:function (result) { console.log(result); } 4000 , complete:function(e){}, error:function(e){} })
删除一条数据
函数原型:delete(tableName,keyPathVal,callback)/** *param:tableName 要操作的表名称 *param:keyPathVal 索引列的值 *callback:{ * success:function () {}, * complete:function(e){}, * error:function(e){} *} **/ dbs.delete("TableName1","keyPathVal",{ success:function () {}, complete:function(e){}, error:function(e){} })
更新数据
函数原型:set(tableName,keyPathVal,key,value,callback)/** *param:tableName 要操作的表名称 *param:keyPathVal 索引列的值 *param:key 需要更新的key *param:value 需要更新的key的值 *callback:{ * success:function () {}, * complete:function(e){}, * error:function(e){} *} **/ //相当于mysql 语句 update TableName1 set updateKey=updateValue where keyPath=keyPathVal dbs.set("TableName1",keyPathVal,'updateKey',updateValue,{ success:function () {}, complete:function(e){}, error:function(e){} })
github 地址: webdatabase.js
相关文章推荐
- IndexedDB: 浏览器里内置的数据库简介
- 浏览器数据库 IndexedDB 入门教程
- IndexedDB浏览器中的数据库详细介绍。(H5)
- IndexedDB:浏览器里内置的数据库(转)
- IndexedDB:浏览器里内置的数据库(转)
- html5 IndexedDB浏览器端数据库
- 将数据库从服务器移到浏览器--indexedDB基本操作封装
- 将数据库从服务器移到浏览器--indexedDB基本操作封装
- 安装部署中的数据库打包和快捷方式启动浏览器
- JSP页面显示乱码,表单提交中出现乱码,数据库连接乱码,浏览器显示?乱码
- html 5 本地数据库(三)-- IndexedDB的API使用
- 把数据库的数据在浏览器显示
- indexedDB 数据库
- 利用chrome插件批量读取浏览器页面内容并写入数据库
- 关于从浏览器到数据库之间的网络连接
- DBeauty 2.0.11 发布,数据库关系浏览器
- HTML5 进阶系列:indexedDB 数据库
- Java实现数据库数据导出到Excel中并下载到浏览器本地
- 通过web服务器访问MySQL数据库,并把数据库中的某张表解析成xml格式输出到浏览器
- 安装部署中的数据库打包和快捷方式启动浏览器