Sequelize -- 笔记

384 阅读1分钟
  1. 引入 --- npm 安装 $ npm install sequelize --save 同时需要安装 数据库

还需要安装以下之一:

npm install --save pg pg-hstore    // postgreSql npm install --save mysql2 // mysql 或 mariadb npm install --save sqlite3 npm install --save tedious // MSSQL --- require 引入使用 const Sequelize = require("sequelize"); 2. 连接数据库 // new 一个实例 new Sequelize({database,username,password,host,pool,}) this.sequelize = new Sequelize({ database: database, //数据库名称 username: username, //数据库用户名 password: password, //数据库密码 host: host, //数据库主机IP localhost dialect: "mysql", //数据库类型 'mysql'|'mariadb'|'sqlite'|'postgres'|'mssql', pool: { //连接池配置 max: 5, //最大连接数 min: 0, //最小连接数 acquire: aquireTimeout, //请求超时时间 idle: 10000 //断开连接后,连接实例在连接池保持的时间 }, logging: this.logging //输出日志信息 true or false }); 验证连接上数据库

this.sequelize .authenticate() .then(() => { console.log("连接建立成功"); resolve(); }) .catch(err => { reject(); throw new Error(无法连接数据库:${err.message}); }); 部分参数

Name Attribute database 数据库名 username 数据库用户名. password 密码 dialect 数据库方式 timezone 时区 默认'+00:00' logging 日志 pool 连接池 min max idle 3. 创建表 public define(modelName: String, attributes: Object, options: Object):

this.tableModels.Users = this.sequelize.define('users', { mail: { type: Sequelize.STRING, //数据类型 STRING,CHAR,INTEGER,FLOAT,FLOAT ,BOOLEAN,TEXT(不限长度) primaryKey: true, // 主键 默认false allowNull: false, // 是否可以为空 默认true defaultValue: ' 33'
}, name: { type: Sequelize.STRING, allowNull: false }, password: { type: Sequelize.STRING(255) }, authority: { type: Sequelize.INTEGER(1).UNSIGNED,values: ["1", "8"], } }, { freezeTableName: true }); 把表同步到数据库 public sync(options: Object): Promise

this.tableModels.Users.sync({ force:true, // 如果表存在 则删除表后重建 logging:true // 日志 });

表关系

BelongsTo,BelongsToMany,HasMany,HasOne 4. 插入数据 public static bulkCreate(records: Array, options: Object): Promise<Array<>> this.tableModels.Users.bulkCreate([ {mail:'183..@163.com',name:'张三',password:'123',authority:'1'}, {mail:'183..@163.com',name:'张三',password:'123',authority:'1'} ]) 5. 查询数据 findAll() findOne()

6 更新数据 update()

作者:槑小姐_1419 链接:www.jianshu.com/p/110baa0a4… 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。