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


本文摘自PHP中文网,作者云罗郡主,侵删。

本篇文章给大家带来的内容是关于web前端如何更新缓存?单例模式封装opendatabase ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

<!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的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

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

更多相关阅读请进入《单例模式封装opendatabase》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...