Sequelize是一个基于 promise 的 Node.js ORM(对象关系映射)。目前支持 Postgres、MySQL、MariaDB、SQLite和Microsoft SQL Server; 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。https://sequelize.org/v5/index.htmlnpm安装:npm install --save sequelize使用何种数据库,要安装对应的npm类库,对应的几类数据库安装:
const Sequelize = require('sequelize');//第一种方式:传递数据库连接信息(ip、端口、用户名密码等)sequelize = new Sequelize('database', 'username', 'password',{ dialect: /* one of 'mysql' | 'mariadb' | 'postgres' | 'mssql' */});sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname'); sequelize.authenticate().then(() => { console.log('Connection has been established successfully.');
console.error('Unable to connect to the database:', err); await sequelize.authenticate();
数据库的操作上,只要是以模型和数据库的表进行对应,同时也支持sql语句的查询方式。模型定义(https://sequelize.org/v5/manual/models-definition.html):
const Model = Sequelize.Model;class User extends Model {} }, lastName: { type: Sequelize.STRING
}}, {需要注意的是,上述定义一个user的模型,需要对应在数据库表中,有users这个表,要实现自己定义表名,需要在属性中设置以下两个参数: freezeTableName: false,
tableName: 'define_user'
直接执行sql语句查询(https://sequelize.org/v5/manual/raw-queries.html):sequelize.query("SELECT * FROM `users`", { type: sequelize.QueryTypes.SELECT})
https://sequelize.org/v5/index.htmlhttps://github.com/demopark/sequelize-docs-Zh-CN