• Sequelize入门一


    最近刚开始接触Sequelize,当中遇到不少坑,所以想写篇Sequelize入门和大家分享,避免有道友和我一样爬坑。 学习sequelize的初衷是想解决SQL注入,它支持MySQL, SQLite, MariaDB and MSSQL,文中以MySQL举例。

    第一步:实例化sequelize数据库连接

    var Sequelize = require('sequelize');
    var sequelize = new Sequelize('database','user','password',{host : 'XXX', port : 'XXX', dialect : 'mysql'});

    当然,我只是用了最简单的连接方式,具体的参数详见http://www.nodeclass.com/api/sequelize.html

    第二步:定义Model,通俗来说就是将你的表结构定义出来。

    var a= sequelize.define('a', {
            id: {type: Sequelize.STRING, max: 20},
            Typess: {type: Sequelize.STRING, max: 20},
            startStation: {type: Sequelize.STRING, max: 20},
            endStation: {type: Sequelize.STRING, max: 20},
            R_Date: {type: Sequelize.STRING, max: 20},
            Distance: {type: Sequelize.STRING, max: 20}
        },{ freezeTableName: true,
            timestamps: false})

    define里面的第一个参数是表名;第二个参数是定义字段,这里我只是最简单的定义了类型、长度,类如是否允许为空,default值等等就需要大家参考文档了; 第三个参数不填的话会使用默认定义选项提供给Sequelize构造函数。此处让我爬坑爬了许久...

    简单介绍下其中的两个参数:

    freezeTableName: 默认为false,当为false时,如果你数据库中已有表a的话,sequelize会修改你的表名,我测试的结果是帮我的表名"a" 加了个s,导致我查询表a的数据时,总会报不存在该表。

    timestamps: 默认为true,它会为你的表添加两个额外的字段“createdAt”、"updatedAt"。

  • 相关阅读:
    Guzz入门教程
    设计模式开题
    纪录idea不能创建class类问题(Cannot Create Class)
    dbrouter实现流程图
    记录一次concurrent mode failure问题排查过程以及解决思路
    程序员的自我修养
    CyclicBarrier之共享锁的理解
    sed选项详解(options)
    sed 范围查找
    Sed命令
  • 原文地址:https://www.cnblogs.com/showtime813/p/4512699.html
Copyright © 2020-2023  润新知