如何在 Node.js 中使用 Sequelize 进行 MySQL 数据存储
在今天的互联网时代,关系型数据存储一直是生产环境的关键部分之一。MySQL 作为一种开源关系型数据库,经常被用于处理企业级环境中用于存储数据的需求。在本文中,我们将会介绍如何使用 Node.js 开发环境及 Sequelize ORM 库来与 MySQL 数据库进行交互。
关于 Sequelize
Sequelize 是为 Node.js 编写的 ORM 库,它支持多种数据库以及优秀的数据库抽象层,这样开发人员可以更加轻松地使用 JavaScript 编写复杂的 SQL 语句,而无需在代码中硬编码 SQL 查询。
Sequelize 可以从安装、连接、Model 定义、查询语句操作、事务等多个方面提供帮助,同时也支持 Promise 和非阻塞 I/O 操作,对于前端开发人员来说,这些和其在日常工作中的实际需求非常贴近。
安装和配置 Sequelize
虽然 Sequelize 支持多种数据库,但我们这里只关注 MySQL。在使用 Sequelize 连接 MySQL 数据库之前,你需要首先安装它,使用以下命令在你的项目目录中进行安装:
npm install --save sequelize
接下来,你需要安装支持 MySQL 的 npm 包,使用以下命令将其安装到你的项目中:
npm install --save mysql2
在你的项目代码中导入 Sequelize 模块并编写连接代码:
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql', operatorsAliases: false });
打开 Sequelize 的文档,你会发现上述代码中的各个参数分别表示你的 MySQL 数据库名称,账户名和密码以及连接地址。
定义和操作 Model
接下来,你需要定义每个你的 Sequelize Model 并创建对应的数据表。在 Sequelize 中,每个 Model 对应一个 table,在该 table 中定义了该数据对象中所有可访问数据的 schema 。
此处假设我们的数据表为 User,每个 User 对象包含 id、name 以及 email 等信息。为了定义 User 对象,你需要编写以下代码:
-- -------------------- ---- ------- ----- ---- - ------------------------ - --- - ----- ------------------ -------------- ----- ----------- ---- -- ----- - ----- ----------------- ---------- ----- -- ------ - ----- ----------------- ---------- ------ ------- ---- - ---
在上述代码中,我们使用了 sequelize.define 方法来定义了 User 对象,其中 id 是自增字段并拥有 primary key,name 字段是字符串类型不可为空,email 字段是字符串类型且不可为空并且唯一。
Model 的定义和数据表的创建过程皆由 sequelize.sync() 方法来处理,该方法根据您的 Model 定义和前面连接到的MySQL配置,将同步 Model到数据库并建立数据表。可以使用以下代码启动表的同步:
sequelize.sync() .then(() => { console.log('User table created successfully'); }) .catch(err => { console.log('Error: Failed to create user table', err); });
我们可以使用如下方法进行 create 操作:
User.create({ name: 'John Doe', email: 'johndoe@mail.com' }) .then(user => { console.log(user.toJSON()); }) .catch(err => { console.log(err); });
在上面的代码中,我们创建了一个包含 name 和 email 字段的新 User 对象,然后将其保存到与数据库中相应的数据表中。当我们执行 create 方法时,Sequelize 会自动映射构造出的对象到 User schema 中定义的存储格式,将所有标记为必须要求/非空的字段填满,并且 Sequelize 会自动获得和在数据库中增加新行所需进行操作的所有 SQL 语句。
总结
在本文中,我们介绍了如何在 Node.js 中使用 Sequelize ORM 库与 MySQL 数据库进行交互,包括安装和配置 Sequelize、定义和操作 Model 等数据存储相关的操作。我们还提供了示例代码帮助阅读者来更好地的理解和学习该方面的技术。
通过实践这些技术,我们能够更加高效地设计开发应用程序,快速构建“纯 JavaScript”解决方案,并减少在应用程序中数据库维护所需要的精力。如果您对如何更好地应用 Sequelize 以及其他前端开发工具和技术感兴趣,可以继续深入学习,相信您会有更大的收获。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649fa01148841e9894bfc4a0