mui开发app有没有自带的数据库

mui(Mobile UI)是一款基于HTML5和CSS3技术的轻量级前端框架,专注于移动端Web开发。它提供了许多方便开发者的工具和组件,其中包括了一个叫做plus的类库,plus类库提供了许多API让开发者可以在APP中使用各种原生功能。其中就包括了自带的数据库。

自带的数据库是以SQLite为基础的,SQLite 是一种基于文件的嵌入式关系型数据库管理系统,被认为是世界上最广泛部署的数据库引擎。在 MUI 中它被封装成了 plus.sqlite 对象。下面我们来详细介绍一下它的原理和使用方法。

## 原理

SQLite 是一种轻量级的关系型数据库,它不需要一个独立的服务器进程或操作系统支持,在 MUI 中,SQLite 作为本地存储被封装成了 plus.sqlite 对象,可以在 APP 中直接调用。SQLite 不像其他数据库那样通过服务端管理,它是本地数据库,需要在客户端侧管理。因此,MUI 在封装 plus.sqlite 对象时,主要的功能都已经涵盖了,无需开发者进行额外操作,可以直接进行使用。

## 使用方法

### 打开数据库

在 MUI 中,打开数据库需要使用 plus.sqlite.openDatabase() 方法,代码如下:

```

var db = plus.sqlite.openDatabase({

name: 'myDatabase.db'

})

```

这段代码会创建一个名为`myDatabase.db`的数据库文件。如果这个文件已经存在,它会打开这个数据库;如果不存在,则会创建一个新的数据库文件。 打开数据库后,开发者就可以利用它进行各种操作。

### 数据库操作

#### 1. 执行 SQL 语句

使用 plus.sqlite.executeSql() 方法执行 SQL 命令,例如,创建一个表可以这样实现:

```

db.executeSql('create table if not exists myTable(id integer primary key autoincrement, name)')

```

这条命令会创建一个名为 myTable 的表,其中 id 为自增的整型字段,name 为字符串类型的字段。

#### 2. 插入数据

使用 plus.sqlite.executeSql() 方法插入数据,例如,插入一条数据可以这样实现:

```

db.executeSql('insert into myTable(name) values(?)', ['Jack'])

```

这条命令会在 myTable 表中插入一条 name 为 Jack 的记录。

#### 3. 查询数据

使用 plus.sqlite.select() 方法查询数据,例如,查询 myTable 表中的所有数据可以这样实现:

```

db.select('select * from myTable', function(result) {

console.log('查询成功', JSON.stringify(result))

}, function(error) {

console.log('查询失败', error)

})

```

这段代码会输出 myTable 表中的所有数据。

#### 4. 更新数据

使用 plus.sqlite.executeSql() 方法更新数据,例如,将 myTable 表中的名称为 Jack 的记录修改为 Tom 可以这样实现:

```

db.executeSql('update myTable set name = ? where name = ?', ['Tom', 'Jack'])

```

这条命令会将 myTable 表中名称为 Jack 的记录的名称修改为 Tom。

#### 5. 删除数据

使用 plus.sqlite.executeSql() 方法删除数据,例如,删除 myTable 表中名称为 Tom 的记录可以这样实现:

```

db.executeSql('delete from myTable where name = ?', ['Tom'])

```

这条命令会删除 myTable 表中名称为 Tom 的记录。

### 关闭数据库

当不需要使用数据库时,可以使用 plus.sqlite.closeDatabase() 方法关闭数据库,代码如下:

```

db.close()

```

这段代码会关闭数据库。

## 总结

MUI 自带的数据库是基于 SQLite 的,封装成了 plus.sqlite 对象,它可以轻松地进行增删改查等操作,可以有效地减少后端的压力。开发者只需要在 APP 中使用 plus.sqlite 的相关 API,即可操作 SQLite 数据库,这为开发者快速开发 APP 提供了便利。