本文主要介绍HbuiderX对sqlite封装和使用,以及如何查看sqlite创建表结构的数据。
一、sqlite是什么
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。支持SQL语句。
二、sqlite封装
2.1 sqlit.js封装
(function($,window,app){ // $是引入mui,window是引入window对象,app是引入app.js 此处三个都没有用到,请自行调整
window.sqlite = {
//数据库配置
dbConfig:{
name: 'xxxxDB', // 数据库的名称
path: '_doc/xxxx.db' // 数据库的存储位置
},
// 是否打开数据库
isOpenDatabase:function() {
return plus.sqlite.isOpenDatabase({name: sqlite.dbConfig.name,path: sqlite.dbConfig.path});
},
// 打开数据库
openDB:function (){
plus.sqlite.openDatabase({
name: sqlite.dbConfig.name,
path: sqlite.dbConfig.path
});
},
// 关闭数据库
closeDB:function(){
plus.sqlite.closeDatabase({
name: sqlite.dbConfig.name
});
},
// 增改删
executeSql: function(sql,cb){
plus.sqlite.executeSql({
name: sqlite.dbConfig.name,
sql: sql,
success: function(r) {
cb(r)
}
});
},
// 查询语句
selectSql: function(sql,success,fail) {
plus.sqlite.selectSql({
name: sqlite.dbConfig.name,
sql: sql,
success: function(r) {
success(r);
},
fail: function(r) {
fail(r);
}
});
}
}
})(mui,window,app)
2.2 使用sqlite.js
2.2.1 sqlite.js方法引入
方法①在.html引入js
<script src="../../js/common/sqlite.js" type="text/javascript"></script>
方法②通过js方法引入
document.write("<script language='javascript' src='../../js/module/common/sqlite.js'></script>");
2.2.2调用
mounted: function() {
this.$nextTick(function() {
this.init();
});
},
init:function(){
$.plusReady(function(){ // 兼容安卓
vm.openDB(); // 打开数据库初始化
});
},
openDB: function (){
sqlite.openDB();
vm.initDB();
},
initDB: function() { // 创建表
var sql = 'create table if not exists appeal("id" INTEGER PRIMARY KEY AUTOINCREMENT,"callId" TEXT NOT NULL,"callTitle" TEXT NOT NULL,"createTime" TEXT NOT NULL,"validateCode" TEXT NOT NULL)';
sqlite.executeSql(sql,function(){ // 插入数据语句
sql = "insert into appeal values(" + null + ",'" + vm.callId + "','" + vm.title + "','" + vm.time + "','" + vm.code +"')"; // 动态化参数,需要拼接
sqlite.executeSql(sql,function(){ // 关闭数据库连接池
sqlite.closeDB();
})
})
},
search: function() { // 查询语句
var sql = "SELECT * FROM appeal order by id desc limit " + (currPage - 1) * app.pageSize + "," + app.pageSize;
sqlite.selectSql(sql, function(r) {
if (r) {
// 数据处理
} else {
// 数据为空处理
}
}, function() {
// 表不存在处理
})
},
delete:function() { // 删除语句
sqlite.openDB();
var sql = 'delete from appeal';
sqlite.executeSql(sql, function() {
sqlite.closeDB();
})
}
2.3查看数据库DB表数据
2.3.1下载SQLiteExpertPersSetup64
2.3.2通过对应的软件,入91助手/360手机等查询导出,xxxx.db如下图所示。