什么是 Sequelize ORM
Sequelize ORM 是一个 Node.js 中的 ORM(对象关系映射)库,使开发人员可以使用 JavaScript 与 PostgreSQL,MySQL,MariaDB,SQLite 等关系型数据库交互。它被设计成易于使用且高度灵活的库,支持多种数据访问模式,并提供了各种查询选项。
为什么使用 Sequelize ORM
易于学习和使用:Sequelize ORM 提供了一套简单而广泛的 API,使得学习和使用非常简单。
跨数据库平台兼容性强:Sequelize ORM 支持多种关系型数据库,如 PostgreSQL,MySQL,MariaDB 等。这可以使你的应用程序易于切换数据库平台。
自动生成 SQL:使用 Sequelize ORM,你不需要手写 SQL 操作。Sequelize ORM 提供了一套简单而直观的 API,使用它们可以轻松地生成 SQL 查询。
支持多种数据访问模式:Sequelize ORM 提供了多种查询模式,包括查询操作,嵌套查询,原生查询,事务等,大大提高了数据的灵活性。
与 Node.js 应用程序无缝集成:Sequelize ORM 可以轻松地与 Node.js 应用程序集成。它提供了多种选项,包括 Promise,async/await 等,这使得它非常适合用于异步 Node.js 应用程序。
如何使用 Sequelize ORM
安装 Sequelize ORM
你可以使用 npm 或 yarn 来安装 Sequelize ORM:
npm install sequelize npm install sequelize-cli
配置 Sequelize ORM
在 Node.js 中使用 Sequelize ORM 时,你需要使用一个名为 Sequelize 的构造函数来创建一个 Sequelize 实例。使用 Sequelize 构造函数需要一个在数据库中连接的 URL。
const { Sequelize } = require('sequelize'); const sequelize = new Sequelize('数据库名', '用户名', '密码', { host: 'localhost', dialect: 'postgres' // 'mysql' | 'sqlite' | 'postgres' | 'mssql' });
这里的 host 和 dialect 都是必需的选项。host 是你想要连接的主机名或 IP 地址,dialect 是你要使用的数据库类型。
创建 Model
在 Sequelize ORM 中,Model 是用于访问数据库表的一个抽象。Model 代表了一个具体的数据库表。
-- -------------------- ---- ------- ----- - ---------- --------- - - --------------------- ----- --------- - --- ----------------- ------ ----- - ----- ------------ -------- ---------- -- ------- - -------- - ---------- - ------- --- ----- ---- - ------------------------ - ---------- - ----- ----------------- ---------- ----- -- --------- - ----- ---------------- -- ---- - ----- ----------------- -- ------ - ----- ---------------- - ---展开代码
在上述代码中,我们使用 sequelize.define 方法定义了一个名为 User 的 Model。我们定义了该 Model 的列的数据类型和其他选项,如是否允许为空。DataTypes 是 Sequelize 自带的数据类型,如 STRING,INTEGER,BOOLEAN,DATE 等。
同步 Model
在创建完 Model 后,我们需要通过 Sequelize.sync 方法将 Model 同步到数据库中。
(async () => { await sequelize.sync(); console.log('所有模型均已成功同步.'); })();
这里使用了 async/await 语法来确保同步完成后输出一条消息。
插入数据
下面是向 User Model 中插入一条数据的示例:
-- -------------------- ---- ------- ----- - ---- - - -------------------- ------ -- -- - ----- ------------- ---------- ------- --------- ------ ---- --- ------ -------------- --- -----展开代码
在上述代码中,我们使用了 User.create 方法插入了一条数据。这个方法返回一个 Promise,因此我们使用了 async/await 语法来确保插入完成并输出一条消息。
查询数据
Sequelize ORM 提供了多种查询方法。下面是一个查询 User Model 的所有数据的示例:
const { User } = require('./models'); (async () => { const users = await User.findAll(); console.log(users); })();
在上述代码中,我们使用了 User.findAll 方法查询了 User Model 的所有数据。该方法返回一个 Promise,并将查找到的所有数据作为一个数组返回。
更新数据
下面是一个更新 User Model 中数据的示例:
const { User } = require('./models'); (async () => { await User.update({ age: 25 }, { where: { firstName: 'Jane' } }); })();
在上述代码中,我们使用了 User.update 方法更新了 User Model 中 firstName 为 Jane 的数据的 age 属性。
删除数据
下面是一个删除 User Model 中数据的示例:
const { User } = require('./models'); (async () => { await User.destroy({ where: { firstName: 'Jane' } }); })();
在上述代码中,我们使用了 User.destroy 方法删除了 User Model 中 firstName 为 Jane 的数据。
总结
Sequelize ORM 是一个可靠、灵活和易于使用的 Node.js ORM 库。它支持多种数据库平台,提供多种数据访问模式,且易于学习和使用。通过本篇文章介绍的示例代码,你可以了解到 Sequelize ORM 如何创建 Model,插入、查询、更新和删除数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645cb96e968c7c53b0f29a4a