zoukankan      html  css  js  c++  java
  • 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"。

  • 相关阅读:
    Word Ladder
    Word Ladder II
    Valid Palindrome
    java 正则表达式-忽略大小写与多行匹配
    Vue自定义指令
    定义格式化时间的全局过滤器
    Vue过滤器的使用
    daterangepicker 设置默认值为空(转载)
    js时间戳与日期格式之间的互转
    Vuedevtools安装
  • 原文地址:https://www.cnblogs.com/showtime813/p/4512699.html
Copyright © 2011-2022 走看看