- 引入 --- npm 安装 $ npm install sequelize --save 同时需要安装 数据库
还需要安装以下之一:
npm install --save mysql2 // mysql 或 mariadb
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… 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。