首页前端开发JavaScriptweb前端如何更新缓存?单例模式封装opendatabase

web前端如何更新缓存?单例模式封装opendatabase

时间2024-01-28 21:13:03发布访客分类JavaScript浏览1119
导读:收集整理的这篇文章主要介绍了web前端如何更新缓存?单例模式封装opendatabase,觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家带来的内容是关于web前端如何更新缓存?单例模式封装oPEndatabase ,有一定的...
收集整理的这篇文章主要介绍了web前端如何更新缓存?单例模式封装opendatabase,觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家带来的内容是关于web前端如何更新缓存?单例模式封装oPEndatabase ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

如果不了解opendatabase数据库的操作的各位,建议先学上一篇《web前端缓存之四opendatabase》后,再来看这一篇的内容,本章内容也是前端缓存系列的最后一遍,对opendatabase数据库的一个简单的封装,当然对于具有java基础的童鞋们,可以忽略此篇文章。

好了,废话不多说,直接直奔主题,请看正文吧(还是基于上一篇的实例来写的):

!DOCTYPE htML>
    html>
    head>
        meta charset="UTF-8">
        tITle>
    Title/title>
    /head>
    body>
    !--openDatabase与andROId里面的SQLite差不多最好的选型存储-->
    h1>
    opendatabse数据库操作/h1>
    button id="BTn-create">
    创建user数据表/button>
    button id="btn-insert">
    插入数据/button>
    button id="btn-query">
    查询数据/button>
    button id="btn-update">
    修改数据/button>
    button id="btn-delete">
    删除数据/button>
    button id="btn-drop">
    删除user数据表/button>
    script type="text/javascript">
        let findId = id =>
     document.getElementById(id);
    //模拟一条user数据    let user = {
        username: "liuqiang",        password: "123569874",        info: "beaconApp开发团队中一员"    }
    ;
        /**     * 创建数据库 或者此数据库已经存在 那么就是打开数据库     * name: 数据库名称     * version: 版本号     * displayName: 对数据库的描述     * estiMATEdSize: 设置数据的大小     * creationCallback: 回调函数(可省略)     */    let db = openDatabase("MySQL", "1.0", "我的数据库描述", 1024 * 1024);
        let result = db ? "数据库创建成功" : "数据库创建失败";
        console.LOG(result);
        const USER_TABLE_SQL = "create table if not exists userTable (id integer Primary key autoincrement,username vArchar(12)," +        "password VARchar(16),info text)";
        const INSERT_USER_SQL = "insert into userTable (username, password,info) values(?,?,?)";
        const QUERY_USER_SQL = "select * From userTable";
        const UPDATE_USER_SQL = "update userTable set password = ? where username = ?";
        const DELETE_USER_SQL = "delete from userTable where username = ?";
        const DROP_USER_SQL = "drop table userTable";
    /**     * 封装数据库工具类     */    class DatabaseUtil {
        /**         * 构造方法         * @param sqlSentence 数据库语句         * @param params 数据库操作的参数         */        constructor(sqlSentence, ...params) {
                this.sqlSentence = sqlSentence;
                this.params = params;
        }
        //获取当前实例        static getInstance(sqlSentence, ...params) {
            return new DatabaseUtil(sqlSentence, ...params)        }
        /**         * 执行数据库操作         * @param callback  成功的回调         * @param errorCallback 失败的回调         */        execute(callback, errorCallback) {
                db.transaction(tx =>
 {
                tx.executeSql(this.sqlSentence, this.params, callback, errorCallback)            }
)        }
    }
        /**     * 点击事件 增删查改     */    let btnCreate = findId("btn-create");
        let btnInsert = findId("btn-insert");
        let btnQuery = findId("btn-query");
        let btnUpdate = findId("btn-update");
        let btnDelete = findId("btn-delete");
        let btnDrop = findId("btn-drop");
        //创建数据表    btnCreate.onclick = () =>
 DatabaseUtil.getInstance(USER_TABLE_SQL)        .execute(function (transaction, resultSet) {
                alert('创建user表成功:' + result);
        }
, function (transaction, error) {
                alert('创建user表失败:' + error.message);
        }
    );
        //插入数据    btnInsert.onclick = () =>
 DatabaseUtil.getInstance(INSERT_USER_SQL, user.username, user.password, user.info)        .execute(function (transaction, resultSet) {
            alert("添加数据成功")        }
, function (transaction, error) {
            alert("添加数据失败:" + error.message)        }
    );
        //查询数据    btnQuery.onclick = () =>
 DatabaseUtil.getInstance(QUERY_USER_SQL)        .execute(function (transaction, resultSet) {
                console.log(resultSet);
        }
, function (transaction, error) {
            alert("查询失败:" + error.message)        }
    );
        //修改数据    btnUpdate.onclick = () =>
 {
            user.password = "111666666";
//修改密码        DatabaseUtil.getInstance(UPDATE_USER_SQL, user.password, user.username)            .execute(function (transaction, resultSet) {
                alert("修改数据成功")            }
, function (transaction, error) {
                alert("修改数据失败:" + error.message)            }
)    }
    ;
        //删除数据    btnDelete.onclick = () =>
 DatabaseUtil.getInstance(DELETE_USER_SQL, user.username)        .execute(function (transaction, resultSet) {
            alert("删除数据成功")        }
, function (transaction, error) {
            alert("删除数据失败:" + error.message)        }
    );
        //删除数据表    btnDrop.onclick = () =>
 DatabaseUtil.getInstance(DROP_USER_SQL)        .execute(function (transaction, resultSet) {
            alert("删除数据表成功")        }
, function (transaction, error) {
            alert("删除数据表失败:" + error.message)        }
    );
    /script>
    /body>
    /html>
    

以上就是对web前端如何更新缓存?单例模式封装opendatabase 的全部介绍,如果您想了解更多有关HTML视频教程,请关注PHP中文网。

以上就是web前端如何更新缓存?单例模式封装opendatabase的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: openDatabase数据库web前端缓存(...下一篇:安全编程之Android APK打包代码混...猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: web前端如何更新缓存?单例模式封装opendatabase
本文地址: https://pptw.com/jishu/590165.html
什么是http,http请求方式和传递数据类型是什么? 详谈HTML中script标签(附代码)

游客 回复需填写必要信息