nodejs使用Sequelize框架操作数据库的实现


Posted in NodeJs onOctober 21, 2020

sequelize.define

使用该方法可以定义model,例子如下:

const Sequelize = require('sequelize');

var sequelize = new Sequelize(config.database, config.username, config.password, {
 host: config.host,
 dialect: 'mysql',
 pool: {
  max: 5,
  min: 0,
  idle: 30000
 }
});

var Website = sequelize.define('website', {
 id: {
  type: Sequelize.BIGINT,
  primaryKey: true,
  autoIncrement: true
 },
 url: Sequelize.STRING(255),
 title: Sequelize.STRING(255),
 status: Sequelize.INTEGER,
 delete_mark: Sequelize.BOOLEAN
}, {
 timestamps: false
});

该方法传入的第一个参数是数据表的单数形式,怎么理解呢?例如这里传入的是website其实是模型名,数据表默认是websites这样的复数形式,这种约定我在Laravel中也碰见过,

也就是常说的,约定大于定义,也就是说,如果我们都按照约定的规范去开发,那么效率其实比重新定义,要高很多。

那么,定义好了模型,该怎么进行使用呢?

(async () => {
 let demo = await Website.create({
  url:'http://www.xxxx.com/',
  title:'demo'
 });
 console.log(demo);
})();

继承Model

const {Sequelize, DataTypes, Model} = require('sequelize');
const config = require('../config');

const sequelize = new Sequelize(config.database, config.username, config.password, {
 host: config.host,
 dialect: 'mysql',
 pool: {
  max: 5,
  min: 0,
  idle: 30000
 }
});

/**
 * @author chaojilaji
 * 数据表websites的关系对象映射
 */
class WebSite extends Model {

}

WebSite.init({
 id: {
  type: Sequelize.BIGINT,
  primaryKey: true,
  autoIncrement: true
 },
 url: Sequelize.STRING(255),
 title: Sequelize.STRING(255),
 status: Sequelize.INTEGER,
 delete_mark: Sequelize.BOOLEAN
}, {
 sequelize,
 modelName: 'Website',
 timestamps:false
});

(async () => {
 await sequelize.sync();
 let x = await WebSite.create({
  url: 'http://www.xxxxxxxx.com/',
  title: 'demo2'
 });
 console.log(x);
})();

module.exports = WebSite;

我比较推荐使用继承Model这种方式,通过创建一个class,这样可以使用model.exports=模块名的方式,将该模型封装起来。供别的地方使用,只需要require进去即可。

具体如何对数据表进行操作,就比较简单了,只需要参考API即可。 sequelize文档地址

到此这篇关于nodejs使用Sequelize框架操作数据库的实现的文章就介绍到这了,更多相关nodejs Sequelize操作数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

NodeJs 相关文章推荐
nodejs调用cmd命令实现复制目录
May 04 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
NodeJS实现不可逆加密与密码密文保存的方法
Mar 16 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
Nodejs中的require函数的具体使用方法
Apr 02 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
nodejs+express最简易的连接数据库的方法
Dec 23 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 #NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 #NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 #NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 #NodeJs
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
Aug 20 #NodeJs
浅谈使用nodejs搭建web服务器的过程
Jul 20 #NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 #NodeJs
You might like
PHP聊天室技术
2006/10/09 PHP
php上传图片存入数据库示例分享
2014/03/11 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
PHP文件上传类实例详解
2016/04/08 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
javascript URL编码和解码使用说明
2010/04/12 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
《孔子拜师》教学反思
2014/02/24 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
初婚初育证明范本
2014/11/24 职场文书
对公司的意见和建议
2015/06/04 职场文书
2016读书月活动心得体会
2016/01/14 职场文书