node.js教程 时下最热门框架操作大解析
小作 2018-02-08 来源 :网络 阅读 649 评论 0

摘要:Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect)。它当前支持MySQL,、MariaDB、SQLite、PostgreSQL、Sql Server 数据库。 目前在Node.js中,Sequelize的关注度较高,用的也较多。这篇node.js教程 重点就将讲解Sequelize的使用。

Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect)。它当前支持MySQL,、MariaDB、SQLite、PostgreSQL、Sql Server 数据库。


目前在Node.js中,Sequelize的关注度较高,用的也较多。这篇node.js教程 重点就将讲解Sequelize的使用。


因为是基于promise规范,在调用后的处理上不再是callback方式,而是统一的链式调用方式,调用直观,易读。


那么就先用起来吧,虽然还有很多坑,但互联网上开源的东西有哪个是让人特别省心的呢,是个好东西就用吧,碰到坑也只能用人肉去填了,(^-^)。

 

安装

建个工程文件夹,并进入,在命令行中运行安装sequelize命令。

npm install sequelize

安装mysql

npm install mysql

 

创建sequelize对象

在代码顶部先要把sequelize库require进来。

第一个参数'test1' 是数据库名。

第二个参数'root'是登录用户名。

第三个参数'123456'是登录用户对应的密码。

第四个参数:

host:数据库主机地址

dialect:'mysql'|'sqlite'|'postgres'|'mssql'
var Sequelize = require('sequelize');
var sequelize = new Sequelize('test1', 'root', '123456', {
    host: '172.16.16.138',
    dialect: 'mysql'
});

 

表结构

在mysql的test1数据库中建users表。

node.js教程 时下最热门框架操作大解析

 

创建表对应的对象模型

一条记录对应一个User对象。

var User = sequelize.define('user', {
    name: Sequelize.STRING,
    password: Sequelize.STRING,
    mail: Sequelize.STRING
});

插入记录

调用模型对象的create方法插入一条user记录。

通过promise的方式对插入完成和插入失败进行处理,链式调用非常方便,再也看不到callback了。


User.create({
    name: 'XiaoMing',
    password: '1234567890',
    mail: 'xiaoming@qq.com'
}).then(function(result){
        console.log('inserted XiaoMing ok');
}).catch(function(err){
        console.log('inserted XiaoMing error');
        console.log(err.message);
});

查询记录

调用模型对象的findAll方法进行查询操作,在参数中可以制定where条件。

where条件甚至可以支持数据库自身特有的函数。


User.findAll({
        where:{
            name:{
                $like:'Zhang%'
            }
        }
    }).then(function(result){
            console.log('query all users');
            for (var i = 0, usr; usr = result[i++];) {
                console.log('nae=' + usr.name + ', password=' + usr.password + ', mail=' + usr.mail);
            }
    });

 

修改记录

调用模型对象的update方法进行更新操作,在第一个参数中指定更新的字段和值,在第二个参数中指定条件。


User.update({
    password:'12'
},{
    where:{
        name:{
            $like:'Xiao%'
        }
    }
}).then(function(result){
        console.log('updated user');
        console.log(result);
});

删除记录

调用模型对象的destroy方法进行删除操作,在参数中指定删除条件。


User.destroy({
    where:{
        name:{
            $like:'Zhang%'
        }
    }
}).then(function(result){
        console.log('destroy user');
        console.log(result);
});

希望这篇文章可以帮助到你。总之,同学们,你想要的职坐标IT频道都能找到!


本文由 @小作 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程