这篇文章主要教你怎么在自己项目中使用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
我们一起讨论