什么是 ORM
ORM(Object-Relational Mapping)是一种程序设计技术,它将面向对象的编程语言与关系型数据库之间建立起映射关系,从而可以通过编程语言对数据库进行操作,而无需直接操作 SQL 语句。
ORM 通常具有以下特点:
- 统一的数据访问接口,可以面向对象的方式对数据库进行 CRUD 操作;
- 简化了 SQL 语句的编写,屏蔽了数据库差异,提高了代码的可维护性和可读性;
- 支持数据关系对象的映射和管理,方便进行数据关联和查询。
在 Node.js 生态中,ORM 框架也是比较常用的工具之一,比如 Sequelize、Mongoose 等。下面将介绍如何使用 Express.js 进行 ORM 操作。
使用 Sequelize 进行 ORM 操作
Sequelize 是一种支持多种数据库的 ORM 框架,包括 MySQL、PostgreSQL、SQLite 和 MSSQL 等。这里以 MySQL 为例进行介绍。
在使用 Sequelize 进行 ORM 操作时,需要安装 sequelize
和 mysql2
两个模块。
npm install sequelize mysql2
接下来,先定义一个简单的模型,例如用户模型:
-- -------------------- ---- ------- ----- - ---------- --------- - - --------------------- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- ------- --- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ----- -- ---- - ----- ------------------ ---------- ----- - --- -------------- - -----
上面的代码中,定义了一个名为 User
的模型,包含两个属性:name
和 age
。其中,DataTypes
是 Sequelize 提供的数据类型,可以根据实际需要进行修改。
接下来,需要在应用中创建数据库连接,并同步模型:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ------------------------- ----- --------- - -------------------- ----- --- - ---------- -- ------- --------- --------------- -------- -- - ----------------------- --- ---- ----------- ---------------- -- ---------- -- - --------------------- -- ------- -- --- ----------- ----- --- -- ---- ---------------- ------ ---- ---------- -- - ------------------- ---- ---- ------------ ---------------- --- ------------------------ ----------------- ------------ ---------------- -- -- - ------------------- -- ------- -- ---- -------- ---
上面的代码中,使用 sequelize.authenticate()
方法创建数据库连接,并使用 sequelize.sync()
方法同步模型。其中,{ force: true }
参数表示每次同步时先删除表,再重新创建。
最后,通过 user
路由实现 CRUD 操作:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---- - -------------------------- ----- ------ - ----------------- -- ------ --------------- ----- ----- ---- -- - --- - ----- ----- - ----- --------------- ---------------- - ----- ----- - ------------------- -------------------- - --- -- ------ ------------------ ----- ----- ---- -- - --- - ----- ---- - ----- ----------------------------- --------------- - ----- ----- - ------------------- -------------------- - --- -- ---- ---------------- ----- ----- ---- -- - --- - ----- ---- - ----- ---------------------- --------------- - ----- ----- - ------------------- -------------------- - --- -- ---- ------------------ ----- ----- ---- -- - --- - ----- - ---- - - ----- --------------------- - ------ - --- ------------- - --- -- ------ - -------------------- - ---- - -------------------- - - ----- ----- - ------------------- -------------------- - --- -- ---- --------------------- ----- ----- ---- -- - --- - ----- ---- - ----- -------------- ------ - --- ------------- - --- -- ------ - -------------------- - ---- - -------------------- - - ----- ----- - ------------------- -------------------- - --- -------------- - -------
上面的代码中,使用 Sequelize 提供的 API 实现了查询所有用户、查询单个用户、创建用户、更新用户和删除用户。其中,findAll()
和 findByPk()
方法用于查询数据,create()
方法用于创建数据,update()
方法用于更新数据,destroy()
方法用于删除数据。
总结
本文介绍了使用 Sequelize 进行 ORM 操作的方法,包括创建模型、创建数据库连接、同步模型和实现 CRUD 操作。ORM 可以简化数据库操作,提高代码的可维护性和可读性,对于大型项目来说是必不可少的工具之一。希望本文能够帮助前端开发者更好地使用 Express.js 进行 ORM 操作,提高开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6496a4d948841e98943dcf3b