1. 安装SQLite的Cordova和Ionic Native插件:
$ ionic cordova plugin add cordova-sqlite-storage
$ npm install --save @ionic-native/sqlite
2.在app.module.ts中将SQLite导入装饰器,如下:
import { SQLite } from '@ionic-native/sqlite';
providers: [
...
SQLite,
...
]
3.封装服务类:SQLiteService.ts
3.1 初始化数据库:
![10340389-d0debce45be1da7c.png](https://i-blog.csdnimg.cn/blog_migrate/c96f7099839d0500b357165f1495bb67.png)
判断运行环境执行初始化数据库操作
3.2 封装执行sql操作方法:
![10340389-492a31f0e8699672.png](https://i-blog.csdnimg.cn/blog_migrate/5cff4b40d06dc682220fad16b9f77b85.png)
执行sql操作方法
4.封装dao服务类:
4.1 首先引入SQLiteService服务类:
import { SQLiteService } from '../common/SQLiteService';
![10340389-4c042ecfb5fa22b7.png](https://i-blog.csdnimg.cn/blog_migrate/68b3231305a00bc31c1fc6086583e8f1.png)
构造函数中定义 SQLiteService 服务类对象
4.2 定义使用的DDL、DML 如下:
![10340389-11ccb41679f24430.png](https://i-blog.csdnimg.cn/blog_migrate/c4f4676b86fd6eb412cea89b93174cba.png)
创建表
![10340389-cc8a970a0ae39b13.png](https://i-blog.csdnimg.cn/blog_migrate/6470f5b5293fcd94672c20f296ac2251.png)
添加数据
![10340389-4a9c268fb20d4054.png](https://i-blog.csdnimg.cn/blog_migrate/7133be9c48e9196df9c2d9ab6ff0c63d.png)
查询数据
![10340389-1583d2c96aa276fa.png](https://i-blog.csdnimg.cn/blog_migrate/bbcc6b25ce70461138d5b16588d24a1d.png)
更新数据
5. 在使用场景中调用dao方法:
5.1 首先引入dao服务类:
import { personalInformationTable } from '../../dao/personalInformationTable';
![10340389-55a4cdc3a2336a71.png](https://i-blog.csdnimg.cn/blog_migrate/9b7b6dba1039d083fa24f0826128bc9e.png)
导入装饰器
![10340389-81ee2e04ac16dc0d.png](https://i-blog.csdnimg.cn/blog_migrate/488e7e574a71ed676935d0957cdc037b.png)
构造方法中定义
5.2 实际调用dao的各个方法:
![10340389-67a89f7dc9a114c2.png](https://i-blog.csdnimg.cn/blog_migrate/b59a9cb6ca9c075a04a9e5f4385840c4.png)
页面加载时调用初始化table
在调用dao服务类的方法时,应当特别注意this的指向问题。
![10340389-b0cb294ac9dfdd58.png](https://i-blog.csdnimg.cn/blog_migrate/77c99e2fd2c2d605b0dbaca554bf1f9a.png)
调用select 查询方法