1、thinkjs 创建项目

thinkjs 确实做得还是很到位,总体很好用,虽然是包装框架,但是各方面都考虑到了。这个比较好的工具可以快速让前台人员做后台服务,但是大部分人使用的时候都是用mysql,对于一个demo安装部署来说,再建立mysql的环境只有一个问题:太慢,如果想立刻使用,就是先要抛弃部署数据库的事件。

打开git command , 输入

npm install -g think-cli

创建一个demo

thinkjs new demo;
cd demo;
npm install;
npm start;
npm install think-model-sqlite

注意不要使用cnpm,这个安装很多东西会出问题,例如不调用编译

2 、thinkjs增加

再在adapter.js中增加

const sqlite = require('think-model-sqlite');exports.model = {type: 'sqlite',sqlite: {handle: sqlite, // Adapter handlepath: path.join(think.ROOT_PATH, 'db'), // sqlite 保存的目录database: 'test', // 数据库名connectionLimit: 1, // 连接池的连接个数,默认为 1prefix: '', // 数据表前缀,如果一个数据库里有多个项目,那项目之间的数据表可以通过前缀来区分}
}

使用sqlite administrator 等创建两个表,放在db下面
user
rtspinfo
两个表,如下图所示

model里面创建一个user.js,一个rtspinfo.js,什么都不做,写入代码

module.exports = class extends think.Model {};

3、thinkjs controller

controller 里面创建两个文件
user.js rtspinfo.js
rtpinfo.js 里面写入代码

const Base = require('./base.js');
module.exports = class extends Base {async indexAction() {const rtspinfo = this.model('rtspinfo'); // controller const data = await rtspinfo.select();//this.assign('title', data /*{ "name": "qianbo" }*/);//return this.display();return this.success(data);}test2Action() {return this.success("rtspinfotest2");}
};

写完thinkjs会自动编译到app里面,到浏览器里面访问

http://127.0.0.1:8360/rtspinfo/
http://127.0.0.1:8360/rtspinfo/test2
分别会返回数据库里的数据和自己写入的数据

这种方式是界面和代码分离的方式,如果想使用view视图和数据绑定,也是可以的
建立一个view视图rtspinfo_address.html

<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head><meta charset="utf-8" /><title>摄像头地址</title>
</head>
<body><table><tr><th>ID号码</th><th>地址</th></tr><tr><td>{{title[0].ID}}</td><td>{{title[0].address}}</td></tr></table>
</body>
</html>

在controller里面加入一个函数

async addressAction() {const rtspinfo = this.model('rtspinfo'); // controller const data = await rtspinfo.select();this.assign('title', data);return this.display();
}

访问浏览器

http://127.0.0.1:8360/rtspinfo/address

该表格不过是没有样式,但是数据已经显示,这样,一个前台人员既可以做后台,也可以做前台。这是nodejs的优点

4、把循环加上

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head><meta charset="utf-8" /><title>摄像头地址</title>
</head>
<body>{{title[0].ID}},{{title[0].address}}<table><tr><th>ID号码</th><th>地址</th></tr>{% for item in title %}<tr><td>{{item.ID}}</td><td>{{item.address}}</td></tr>{% endfor %}</table>
</body>
</html>


结果就是所有数据都出来了。

5、总结

其实这个同样适用于mysql,甚至可以使用多种数据库

const rtspinfo = this.model(‘rtspinfo’,‘sqlite’); // controller
const rtspinfo = this.model(‘rtspinfo’); // controller

在控制器里是可以切换的,而model层不用大的变化,控制层添加,删除等等都很方便

const Base = require(’…/base.js’);
module.exports = class extends Base {
modifyAction() {
this.model(‘rtspinfo’).where({ID:“1”}).update({memo:“1号公路上”})
this.success(“修改成功”)
}
};

再次访问,html中增加一列memo,发现已经修改了数据,非常简单方便,在架设demo的过程中,不用架设mysql数据库,等需要的时候,再修改成mysql就行,如果您搞不清楚,请在下面下载:
thinkjs使用sqlite demo

thinkjs使用sqlite相关推荐

  1. thinkjs基础学习

    文章目录 前言 一.thinkjs介绍 1.特性 2.架构 二.thinkjs安装 1.安装 ThinkJS 命令 2.卸载旧版本命令 3.创建项目 三.运行流程 1.系统服务启动 四.Context ...

  2. android数据库isnull,Android中SQLite数据库知识点总结

    SQLite 数据库简介 SQLite 是一个轻量级数据库,它是D. Richard Hipp建立的公有领域项目,在2000年发布了第一个版本.它的设计目标是嵌入式的,而且占用资源非常低,在内存中只需 ...

  3. C++ VS2013环境编译使用sqlite数据库全过程

    转载:http://www.cnblogs.com/imoon/archive/2012/11/30/2796726.html 转载:https://blog.csdn.net/hjm4702192/ ...

  4. iOS开发-xcdatamodeld文件 CoreData的介绍和使用,sqlite的使用

    CoreData的介绍和使用  源引:http://www.jianshu.com/p/d027090af00e CoreData是数据存储的一种方式,CoreData实质也是对SQLite的封装. ...

  5. node sqlite 插入数据_安卓手机中的应用数据都保存在哪些文件中?

    随笔 知识 案例 声音 其他 编者按 手机取证,品牌是一方面,从操作系统入手是另外一个渠道.手机中的重要数据基本上都以轻量数据库的形式保存在本地,也就是经常讲的sqlite db文件中. 从推特上得知 ...

  6. android数据库降级_Android SQLite (二.数据库创建,升级及降级)

    上篇文章简介和常用语法介绍了SQLite数据库的基本信息和一些常用的语法操作,本篇文章主要介绍Android开发过程中SQLite数据库的创建使用和常见问题处理. 一.SQLiteOpenHelper ...

  7. android 数据库索引,SQLite数据库提供警告自动索引(列)升级Android L后

    我已经升级了我的Nexus 7与Android 5.0 Lollipop,之前,我的应用程序运行良好与SQLite数据库,但现在每当我执行任何类型的查询,它给我log cat错误,如: 12-09 1 ...

  8. Android客户端开发—数据库SQLite基本语句

    之前接触过一点MySQL数据库方面的知识,现在在学习Android软件开发过程中发现SQLite语句与MySQL的语句还是有部分不同,SQLite中的命令不算太多,可以在adb shell中进入App ...

  9. Android SQLite数据库之事务的学习

    SQLite是Android系统内置的一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,通常只需要几百K的内存就足够了.SQLite不仅支持标准的SQL语法,还遵循了数据库的ACID事务. ...

最新文章

  1. 摊牌了,巴塞罗那自治大学3D视觉课件(免费获取)
  2. Linux SPI总线和设备驱动架构之二:SPI通用接口层
  3. 项目G2SVG.text转换
  4. everyday words
  5. JQuery对象与DOM对象的区别与转换
  6. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 85
  7. (摘录)sockaddr与sockaddr_in,sockaddr_un结构体详细讲解
  8. C语言中的位域的使用
  9. 华为谷歌互利合作曝光:或将推Nexus手表
  10. 斯坦福NLP组最新报告:自然语言处理中的学习挑战(附149页报告全文下载
  11. 建模方法(四)-因子分析定义和应用
  12. Server 2012 R2 安装 Microsoft Windows CredSSP 远程执行代码漏洞补丁
  13. 在线OPML压缩工具
  14. 华为防火墙笔记-网络地址转化NAT
  15. Ubuntu 中使用 xdg-open 命令高效打开文件
  16. birthday中文是什么_ffappybirthday翻译
  17. 为什么那么多公司在用快速开发平台开发软件?下表说明了一切
  18. 转载一篇RC电路分类
  19. 不可错过的 7 个JS 小技巧,一定要进来瞧瞧哦
  20. 使用Jna调用dll函数库(java使用jna对接硬件接口)

热门文章

  1. go mysql 条件查询_go-sql-driver包 实现mysql不定字段查询
  2. 小红书重拳治理虚假种草 再起诉3家通告平台、MCN机构
  3. 苹果汽车项目团队添猛将?外媒称Apple Watch负责人已调入
  4. 华为Mate 40新功能上线,抬手即可付款!
  5. 长城汽车申请“哈弗单身狗”、“哈弗奶狗”、“哈弗溜狗”等商标
  6. 一个德国设计奖,怎么就成了中国品牌的财富密码
  7. 做中国女人难,做中国女装更难
  8. iPhone 12 Pro Max外形、配置大曝光:安卓基本没对手了
  9. 用户一片哀嚎!三星手机系统突遇大面积崩溃:现黑屏、重启、乱码
  10. 钉钉终于崩了!小学生欢呼庆祝解放,没想到没高兴多久就...