ORM 简介
ORM,全称 Object-relational mapping,翻译成中文即对象关系映射,是指通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系型数据库中。
ORM 的好处在于它可以让开发者不用写 SQL 语句,用面向对象的方式去操作数据库,极大地提高了代码的可读性和可维护性。
针对 Node.js,生态圈中也出现了各种 ORM 框架,如 Sequelize、TypeORM、Prisma 等。
在本文中,我们将会详细探讨 Sequelize ORM 框架。
Sequelize 简介
Sequelize 是一个基于 Promise 的 Node.js ORM,支持 PostgreSQL, MySQL, MariaDB, SQLite 和 MSSQL 等多种数据库。
下面我们将结合具体的代码示例来说明 Sequelize 的使用方法。
Sequelize 的安装
首先,我们需要在项目中安装 Sequelize:
npm install sequelize
针对不同的数据库,还需要同时安装相应的驱动程序:
npm install mysql2 # for MySQL/MariaDB npm install pg # for PostgreSQL npm install sqlite3 # for SQLite
数据库配置
在使用 Sequelize 之前,我们需要先配置数据库的连接信息。
在项目目录下新建一个 config.json
文件,并写入以下内容:
-- -------------------- ---- ------- - -------------- - ----------- ------------------ ----------- ------------------ ----------- ----------------------- ------- ----------------------- ---------- ---------------------- -- ------- - ----------- ------------------ ----------- ------------------ ----------- ----------------------- ------- ----------------------- ---------- ---------------------- -- ------------- - ----------- ------------------ ----------- ------------------ ----------- ----------------------- ------- ----------------------- ---------- ---------------------- - -
这里的 <your-username>
、<your-password>
、<your-database-name>
、<your-database-host>
和 <your-database-type>
分别表示数据库的用户名、密码、数据库名、数据库所在的主机以及数据库类型。
创建表格
Sequelize 提供了一个 define
方法来创建表格:
-- -------------------- ---- ------- ----- - ---------- --------- - - --------------------- ----- --------- - --- ----------- -------- -------- ----- ------------ --------- ------- --------- --- --------- --------- --- ----- ---- - ------------------------ - ---------- - ----- ----------------- ---------- ----- -- --------- - ----- ----------------- ---------- ----- -- ---- - ----- ----------------- - ---
这个例子中,我们创建了一个名为 User
的表格,同时定义了 firstName
、lastName
和 age
三个字段。
增删改查
接下来,我们将介绍如何使用 Sequelize 进行增删改查操作。
增(Create)
使用 create
方法将新数据插入表格中:
User.create({ firstName: 'Bob', lastName: 'Doe', age: 25 }).then(user => { console.log(user.toJSON()); });
查(Read)
使用 findAll
方法查找表格中所有数据:
User.findAll().then(users => { console.log(users.map(user => user.toJSON())); });
使用 findOne
方法查找指定数据:
User.findOne({ where: { firstName: 'Bob' } }).then(user => { console.log(user.toJSON()); });
改(Update)
使用 update
方法更新指定数据:
User.update({ age: 26 }, { where: { firstName: 'Bob' } }).then(() => { console.log('Updated'); });
删(Delete)
使用 destroy
方法删除指定数据:
User.destroy({ where: { firstName: 'Bob' } }).then(() => { console.log('Deleted'); });
总结
本文中,我们介绍了 Sequelize ORM 框架的基本使用方法,包括数据库的配置、表格的创建以及增删改查等操作。
Sequelize 不仅易于使用,而且支持多种数据库,是开发 Node.js 后端应用的优秀选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f692f5f6b2d6eab3f28294