Visual Studio Code (vscode)创建Node.js+Express+handlebars项目--连接数据库ORM模块sequelize

这篇文章主要教你怎么在自己项目中使用Sequelize.js

,Sequelize.js提供对 MySQL,MariaDB,SQLite 和PostgreSQL 数据库的简单访问,通过映射数据库条目到对象,或者对象到数据库条目。简而言之,就是 ORM(Object-Relational-Mapper)。Sequelize.js 完全是使用 JavaScript 编写,适用于 Node.js 的环境。

开始
使用VScode终端输入下面命令,webstrom也一样,其他开发工具只要支持NPM都可以。

npm install --save sequelize
npm install --save pg pg-hstore
npm install --save mysql2
npm install --save sqlite3
npm install --save tedious // MSSQL

这里写图片描述

接下来是配置哦
这里写图片描述

这里我单独建立一个文件夹和它的配置js,这样类似一个配置管理,如果你的项目需要使用其他数据库,只需要加上一段就行

var mssql = new Sequelize(
    "testNode",//表名
    "sa",//登陆名
    "pass1234", {
        dialect:  'mssql',//mysql、sqlite、postgres
        host: 'localhost',
        port: 1433
    }
);

然后就是使用了

下面演示的是通用ORM思想的调用方式

在index.js中

var express = require('express');
var router = express.Router();
//引用dbconfig配置里面的mssql
var mssql = require('../confs/dbconfig').mssql;
var Sequelize = require('sequelize');
//定义一个mode 可以单独放到其他文件中
var temName = mssql.define('temName', {
  Id: {
    type: Sequelize.STRING
  },
  Name: {
    type: Sequelize.STRING
  }
}, {
  freezeTableName: true, // Model 对应的表名将与model名相同,
  timestamps: false   //禁用时间戳
});

/* GET home page. */
router.get('/', function(req, res, next) {
//使用sequelize 自带方法获取表所有数据
 temName.findAll().then(function(temName) {
 //返回到视图,也就是index页面,然后把数据temName传到界面
 res.render('index', { title: '我是hbs模板哦哦' ,data:temName});
})

});

module.exports = router;

index.hbs

<p>类似mvc中的页面,c层就是routes/index.js,这个title是传过来的数据</p>
<p>当然也支持循环 if else 判断哦</p>
<p>{{title}}</p>
<table>
  {{#each data}}
  <tr>
    <td>{{dataValues.Id}}</td>
    <td>{{dataValues.Name}}</td>
  </tr>
  {{/each}}
</table>

这个使用用的是handlebars模板.
这里写图片描述

其实我不喜欢这种安全可靠的方法,因为要定义实体mode,因为我比较懒,有时候一条sql语句大概有50行,接下来是大家最喜欢的
查询,就是直接写sql语句,我经常干(虽然有弊端)

这里写图片描述

这个只是简单的数据库查询,如果你想深入了解它的增删改查,以及缓存cache
可以参考官网
也可以加入qq群315552185
我们一起讨论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值