npm 包 orm 使用教程

什么是 ORM

ORM(Object-Relational Mapping)是一种将对象模型表示为关系数据库模型的技术。这意味着你可以使用 JavaScript 对象来表示数据库中的记录,而不需要手动编写 SQL 查询语句。

ORM 技术为前端开发提供了方便,因为它允许开发人员使用简单的 JavaScript 语法来访问和操作数据库。这就使得开发过程更加高效、方便、快速。

ORM 常用 npm 包

  1. Sequelize:用于 Node.js 应用程序与 MySQL、MariaDB、SQLite 和 PostgreSQL 数据库之间的通信。它支持 ES6 语法,允许在代码中定义数据模型,支持事务和连接池等功能;

  2. TypeORM:支持 Node.js 和浏览器,可用于 MongoDB、PostgreSQL、MySQL、MariaDB、SQLite、MS SQL Server 等数据库。它包括多种数据存储模式,支持用 TypeScript 或 JavaScript 编写实体和查询,并支持模块化设计;

  3. Prisma:由语言无关的 SQL 查询生成器和 flexible CRUD 索引器组成,可以与 Prisma Client 配合使用,在 TypeScript 和 JavaScript 中使用。它使用来自 MongoDB 的概念和功能,如文档数据库。

本文以 Sequelize 作为示例进行 ORM 的使用教程介绍,让读者快速上手使用 ORM 技术。

使用 Sequelize

安装

首先,需要安装 node 和 npm,然后输入以下命令进行 sequelize 的全局安装和启动:

--- ------- ------ ---------
--- ------- ------ ------   -- ---------

代码示例

在使用 Sequelize 之前,需要先定义您的数据模型。下面是一个 users 表的定义,该表代表了一个具有 id、 name 和 email 字段的用户。

----- --------- - ---------------------
----- --------- - --- --------------------- ----------- ----------- -
  ----- ------------
  -------- ----------
---

----- ---- - ------------------------ -
  --- -
    ----- ------------------
    -------------- -----
    ----------- ----
  --
  ----- -
    ----- -----------------
    ---------- -----
  --
  ------ -
    ----- -----------------
    ---------- ------
    ------- ----
  -
---

----------- ------ ---- ---------- -- -
  -- -------
---

上述代码中,我们定义了一个名为 User 的模型,模型包含了 id、 name 和 email 字段。我们希望 id 字段在新纪录插入到数据库时会被自动增加,而 name 和 email 字段则是必须存在的,其中 email 字段必须是唯一的。

sequelize 的基本操作

  1. 数据库连接:
----- --------- - ---------------------
----- --------- - --- --------------------- ----------- ----------- -
  ----- ------------
  -------- ----------
---
  1. 插入数据:
-------------
  ----- -------
  ------ ------------------
------------ -- -
  ---------------------------
---
  1. 查询数据:
------------------------- -- -
  -------------------
---
  1. 更新数据:
------------- ----- ---- ----- -- - ------ - --- - - ---------- -- -
  --------------------
---
  1. 删除数据:
-------------- ------ - --- - - ---------- -- -
  --------------------
---

关联关系

Sequelize 的强大之处在于其支持关联。下面是一个示例,展示了在一个示例数据库中定义两个租户和一个订单的关系:

----- ---- - ------------------------ -
  ----- -
    ----- ----------------
  -
---

----- ----- - ------------------------- -
  --------- -
    ----- -----------------
  -
---

--------------------
----------------------

------------------------ -- -
  -------------
    ----- ------
  ------------ -- -
    ------------------
      --------- -
    ------------- -- -
      ----------------------------
    ---
  ---
---

在上面的示例中,我们定义了两个模型 User 和 Order。User 和 Order 之间的关系是“一个 User 可以有多个 Order,而一个 Order 只属于一个 User ”。在第二个语句中,我们使用 User.hasMany(Order) 和 Order.belongsTo(User) 来定义这种关系。然后,我们使用 user.createOrder() 方法来创建一个新的订单,该方法将自动关联到 Lisa 示例用户中。

同步表

在开始你编写应用程序之前,你需要执行 Sequelize.sync() 方法来确保 sequelize 实例连接到数据库。这个方法将连接到数据库,并自动创建与数据模型相对应的表。

------------------------ -- -
  --------------------- --------- ---------------
------------ -- -
  ------------------- -- ------- -- --- ----------- -----
---

总结

此文介绍了 ORM 技术及其在前端中的应用,以 Sequelize ORM 包为例,介绍了其安装和使用方法。读者可以自行使用不同的 ORM 包进行学习和实践,做到更好的前端开发工作。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/76301


猜你喜欢

  • npm 包 punch 使用教程

    简介 Punch 是一款用于在 Web 应用程序上生成并呈现交互式文档的工具。 Punch 提供了一个简单易用的文档编辑器,能够让你轻松创建和编辑你的文档。此外,Punch 的输出非常适合用于展示和呈...

    5 年前
  • npm 包 prunt 使用教程

    引言 Prunt 是一个基于 Node.js 的任务自动化工具,可以帮助我们将重复性、繁琐性的任务自动化,提高效率,减少出错的可能。本文将详细介绍 prunt 的使用,包括基础语法、任务配置、插件的使...

    5 年前
  • npm包require使用教程

    如果你是一名前端工程师,你一定经常使用npm来安装和管理你的项目中的第三方包。一旦你已经安装了这些包,你需要使用npm包require来将它们引入你的项目中。本文将介绍如何使用npm包require来...

    5 年前
  • npm 包 reformer 使用教程

    介绍 reformer 是一个 npm 包,用于前端表单数据的转换与校验。它提供了一个可扩展的机制来进行数据转换和校验,并支持异步操作。使用 reformer 可以有效地提高前端表单信息的处理效率和准...

    5 年前
  • npm 包 redis-futon 使用教程

    在前端开发中,使用 Redis 作为缓存能够提供很好的性能优化。但是,Redis 的命令行操作并不方便,因此可以使用一些可视化界面管理 Redis 数据库。其中一个优秀的解决方案是 redis-fut...

    5 年前
  • npm 包 grunt-compass 使用教程

    npm 包 grunt-compass 使用教程 前言 在前端开发中,CSS 预处理器是不可或缺的一部分。其中,Compass 是 Sass 的一个应用程序框架,它提供了一些有用的工具和库,使我们在编...

    5 年前
  • npm 包 recursive-uglifyjs 使用教程

    作为一名前端开发工程师,我们在实际开发中经常会遇到需要压缩 JavaScript 文件的场景。而 recursive-uglifyjs 这个 npm 包就是一个非常方便的 JavaScript 文件压...

    5 年前
  • npm 包 dougs_vow 使用教程

    什么是 dougs_vow dougs_vow 是一个能够使前端 HTTP 请求变得非常优雅而强大的 npm 包。它是建立在当今广泛使用的 Promises 概念之上实现的。

    5 年前
  • npm 包 deputy 使用教程

    npm 是目前最流行的 JavaScript 包管理工具,它使得应用程序的依赖管理更加简单。在前端开发中,我们经常需要使用这些 npm 包来构建我们的应用程序,但是随着我们使用的 npm 包数量越来越...

    5 年前
  • NPM 包ORG使用教程

    随着前端技术的快速发展,我们使用的包和库也越来越多,管理这些包和库的工具也变得越来越重要,其中最为常见的包管理工具是NPM。在使用NPM的过程中,我们需要了解如何使用org这个组织的概念来管理包,它可...

    5 年前
  • npm 包 filemonitor 使用教程

    介绍 在前端开发中,我们常常需要修改文件后立即生效,使用 filemonitor 工具可以自动检测文件变化并触发指定操作,避免了手动重复操作的麻烦。本文将与您分享如何使用 npm 包 filemoni...

    5 年前
  • npm 包 html-builder 使用教程

    使用 npm 包 html-builder 可以帮助开发者快速创建 HTML 页面,本文将详细介绍该包的使用方法和功能。 安装 安装 npm 包 html-builder: --- ------- -...

    5 年前
  • npm 包 ip6 使用教程

    在前端开发中,我们经常需要对 IP 地址进行处理,而 IPv6 地址在传输和存储上相对 IPv4 更加优秀。而在 JavaScript 开发中,有个便携的 npm 包 ip6,可以快速地对 IPv6 ...

    5 年前
  • npm 包 range_check 使用教程

    在前端开发中,常常需要对数据进行验证和处理,而对于数字类型的数据来说,我们需要对其进行范围检查,以保证数据不会超过规定的范围。因此,npm 包 range_check 成为了前端开发中必备的工具之一。

    5 年前
  • npm 包 node_cloudflare 使用教程

    简介 node_cloudflare 是一个专门为 Node.js 编写的 Cloudflare API 客户端库,它可以让我们在 Node.js 中轻松地与 Cloudflare API 进行交互。

    5 年前
  • npm 包 url_washer 使用教程

    在前端开发中,我们常常需要对 URL 进行处理,比如对参数进行提取、拼接等等。url_washer 是一个可轻松处理这些问题的 npm 包,本文将为大家介绍如何使用。

    5 年前
  • npm 包 cachejs 使用教程

    在前端开发中,我们经常需要处理大量的数据,这些数据包括但不限于图片、音频、视频、Json 数据等等。在这些数据不需要频繁刷新的情况下,我们可以通过缓存来提高访问速度,从而提升用户体验。

    5 年前
  • npm 包 bb-server 使用教程

    在前端开发中,我们常常需要在本地搭建一个服务器来调试和运行我们的项目,常用的方式是使用 Node.js 的 http 模块或者其他一些库来构建服务器。而 bb-server 就是一款基于 Node.j...

    5 年前
  • npm 包 denodify 使用教程

    Node.js 的模块系统是它的核心,但是如果你希望在 web 前端中使用一些 Node.js 的模块,你需要使用一些特殊技巧。denodify 就是一种解决方案,它可以帮助你在 web 前端中使用 ...

    5 年前
  • npm 包 doccoh 使用教程

    什么是 doccoh? doccoh 是一个非常有用的 npm 包,它可以帮助你生成漂亮简洁的代码文档。你可以在你的代码中添加注释,然后使用 doccoh 命令将这些注释转化为漂亮的文档。

    5 年前

相关推荐

    暂无文章