属于前端的数据库webSQL

339 阅读1分钟

数据库你以为离前端很远,其实他就在我们身边,WEB SQL 你值得拥有

web sql 兼容性:

三个核心方法:

openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。

transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。

executeSql:这个方法用于执行实际的 SQL 查询。

// 打开一个数据库,如果没有,就创建一个
// 数据库名称 版本号 描述文本 数据库大小 创建回调
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024,function(){
	
}); 
 
// 调用 transaction 生成 tx 数据库操作对象
db.transaction(function (tx) {
   // executeSql 像mysql 一样操作 数据
   tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "123")');
   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "321")');
});
 
db.transaction(function (tx) {

   tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { // 回调方法 返回 结果
      var len = results.rows.length, i;
      msg = "<p>查询记录条数: " + len + "</p>";
      document.querySelector('#status').innerHTML +=  msg;
    
      for (i = 0; i < len; i++){
         alert(results.rows.item(i).log );
      }
    
   }, null);
});

功能作用

1、缓存 前端数据(那种不在变更的数据,例如:日志、操作记录)

2、减少服务器压力

3、提高前端用户体验 及效率

4、跨组件数据交互

5、无后端应用

融入项目

融入到ajax请求里面,

1、根据一个配置参数,配置是否将返回的数据库存入数据库,

2、根据配置是否先在数据库里面进行数据查询,如果有就返回数据库数据,不再进行接口请求