Deno 中使用 TypeORM 管理数据库

在 Deno 中使用 TypeORM 管理数据库可以让我们在开发 Web 应用时更加方便地操作数据。TypeORM 是一个 TypeScript ORM(Object-Relational Mapping)框架,支持多种数据库,并提供了一系列便于操作数据库的 API。

安装和配置

安装 Deno

首先,我们需要安装 Deno。可以通过以下命令在终端中安装:

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

然后,需要将 Deno 的可执行文件添加到 PATH 中,以便系统在任何位置都可以找到该命令。

安装 TypeORM

然后,我们需要安装 TypeORM。可以通过以下命令在终端中安装:

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

其中,reflect-metadata 是用于支持 TypeORM 的元数据功能的库,需要一起安装。

配置数据库连接

接下来,我们需要在项目目录中创建一个 ormconfig.json 文件来配置数据库连接。例如,我们将要连接的数据库是 MySQL,那么可以按如下配置:

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

其中,entities 是指定数据库实体类所存放的目录,migrations 是指定数据库迁移脚本所存放的目录,subscribers 是指定数据库事件订阅器所存放的目录。

创建实体类

现在,我们可以为我们的数据库创建实体类(Entity)。例如,我们要创建一个 User 实体类来映射数据库中的 users 表:

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

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

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

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

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

这里使用了 TypeORM 提供的装饰器来定义实体类和实体类的字段和类型。PrimaryGeneratedColumn 表示该字段是主键并自动生成,Column 表示该字段是列。

创建数据库迁移脚本

如果需要在数据库中新建表或修改表结构,我们可以使用 TypeORM 提供的迁移脚本(Migration Script)功能。可以通过以下命令创建一个新的迁移脚本:

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

这会在 migrations 目录下自动生成一个迁移脚本文件 createUsersTable.ts。我们可以在该文件中编写 SQL 脚本来对数据库进行操作,例如:

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

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

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

其中,up 方法是在数据库升级时执行的操作,down 方法是在数据库降级时执行的操作。

操作数据库

通过以上步骤,我们已经完成了 Deno 中使用 TypeORM 管理数据库的基本配置。现在,我们可以开始使用 TypeORM 提供的 API 来操作数据库了。

连接数据库

首先,我们需要连接数据库。可以通过以下代码创建一个数据库连接:

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

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

这里我们调用了 createConnection 方法,它会根据我们在 ormconfig.json 文件中的配置来创建一个数据库连接。

查询数据

查询数据可以使用 getRepository 方法来获取实体类对应的 Repository。例如,我们可以通过以下代码查询所有用户:

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

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

插入数据

插入数据可以直接创建一个实体类对象并保存到数据库中。例如,我们可以通过以下代码插入一条用户数据:

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

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

更新数据

更新数据可以通过查询并修改实体类对象后再保存到数据库中。例如,我们可以通过以下代码更新一条用户数据:

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

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

删除数据

删除数据可以通过查询并删除实体类对象后再保存到数据库中。例如,我们可以通过以下代码删除一条用户数据:

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

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

总结

通过以上步骤,我们已经掌握了在 Deno 中使用 TypeORM 管理数据库的基本操作。TypeORM 提供了很多便于操作数据库的 API,可以帮助我们更加高效地进行数据管理。

需要注意的是,TypeORM 目前还处于不断发展的过程中,可能会有些功能或 API 发生变化。因此,需要根据官方文档进行适当的调整和参考。

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


猜你喜欢

  • 使用 Koa.js 搭建一个简单的 Restful API

    简介 Koa.js是一个新一代的Node.js Web框架,它相对Express.js更加轻量级,同时又能充分利用ES6的新特性。本文将介绍如何使用Koa.js搭建一个简单的Restful API。

    1 年前
  • 基于 Vue 的 PWA 技术实践

    随着移动设备的普及和网页应用需求的增加,PWA (Progressive Web App) 技术受到越来越多的关注。它基于现代浏览器的新特性,使得网页应用可以更像本地应用一样,提供了更好的交互体验。

    1 年前
  • Material Design 设计规范解析

    Material Design 是由 Google 推出的设计规范,以强调材料的触感、动画和真实性为特点,被广泛应用于Web、移动设备和 ChromeOS 等产品的设计中。

    1 年前
  • Kubernetes 负载均衡器 Nginx 的使用

    在现代化的 Web 应用程序中,负载均衡器扮演着至关重要的角色。它们可以确保客户端请求始终指向可用的服务器,并通过拓展应用程序部署来提高可靠性并降低延迟。 Kubernetes 是一种流行的容器编排平...

    1 年前
  • TypeScript 实现多态的指南

    多态是面向对象编程中的一个核心概念,它允许同一个接口以不同的方式实现,即同一个方法在不同对象中的具体实现是不同的。TypeScript作为JavaScript的超集,它提供了一些工具和语法糖,使得多态...

    1 年前
  • Deno 中的操作系统 API 与容器技术应用探究

    Deno 是一个基于 Typescript 的运行时环境,它的设计目的是为了提供一个安全稳定且高效的 JavaScript 环境。在 Deno 内置的 API 中,有一些可以直接操作操作系统的 API...

    1 年前
  • RxJS 中的 distinctUntilChanged 操作符详解

    在 RxJS 中,distinctUntilChanged 操作符是一种非常常用的操作符之一。它可以帮助我们过滤掉重复的数据,而只保留不同于前一个值的数据。 操作符使用方法 distinctUntil...

    1 年前
  • Web Components 中的自定义事件

    Web Components 是一种用于创建可重用网页组件的技术,通过它可以将页面拆分成多个独立的部分,每个部分都可以被封装、重用和维护,提高了开发效率和组件复用性。

    1 年前
  • 无障碍 App 设计实践

    无障碍 App 是一种以用户为中心的设计理念,旨在为所有人提供无阻碍的使用体验。无障碍设计能帮助身体残障者、老年人、色盲患者等用户更方便地使用 App,也能提升所有人的用户体验。

    1 年前
  • 使用 Jest 和 Puppeteer 进行 E2E 测试

    前端开发人员经常会面临测试的挑战,尤其是在应用程序需要与多个组件和平台进行交互的情况下。在这种情况下,端到端(E2E)测试是一个非常有用的工具,可以保证你的应用在所有方面都是完整、可靠的,并且能够满足...

    1 年前
  • ES2021 中的 string replaceAll 方法及其秘密

    JavaScript 的 String 类型中提供了许多用于操作字符串的方法,其中 replace 方法是常见的一种常用方法。在 ES2021 中,String 类中新增加了一种 replaceAll...

    1 年前
  • 如何充分发挥 ES7 中的 Async 函数的优势?

    ES7 中引入了 Async 函数,使得 JavaScript 开发者能够更方便地处理异步代码。Async 函数是一个语法糖,它允许我们写出看起来同步的代码,但实际上是异步执行的。

    1 年前
  • Angular 中使用 $watch 的正确姿势

    在 Angular 应用程序中,经常需要在某个值发生变化时更新视图或执行一些操作。Angular 提供了 $watch 这个可以监听变化的方法,但是如果不使用正确的姿势,它可能会导致性能问题或者不必要...

    1 年前
  • Babel 编译 ES6 时如何使用 grunt

    前言 随着 ES6 (ECMAScript 2015)成为了前端开发的主流,越来越多的开发者开始使用 ES6 编写 JavaScript 代码。但是,由于浏览器的兼容性问题,我们需要使用 Babel ...

    1 年前
  • Next.js 服务端渲染优化实践:缓存、合并和 CDN

    随着现代 Web 应用的发展,前端工程师更加注重页面性能的优化。服务端渲染 (SSR) 是提高 Web 应用性能的重要手段之一。而 Next.js 则是目前很受欢迎的 React SSR 框架。

    1 年前
  • 优化 LESS 编译后的 CSS 文件

    LESS 是一种动态样式语言,它允许开发人员以更高效的方式编写 CSS。通过使用变量、嵌套规则、函数、Mixin 等特性,可以提高 CSS 的可维护性和复用性。但是,由于 LESS 编译后生成的 CS...

    1 年前
  • 高性能 Erlang 编程实践技巧

    Erlang 是一种面向并发编程的编程语言,它的并发模型和轻量级进程模型能够支持高并发场景下的应用,如通信服务器、分布式系统、实时系统等。 然而,应用程序的性能是影响用户体验和系统响应时间的关键因素之...

    1 年前
  • Vue 中 computed 的原理解析

    在 Vue 中,computed 是常用于计算属性的一个选项。它的原理可以简单概括如下:当计算属性依赖的数据发生改变时,computed 会重新计算并返回新的值。这个过程是在响应式系统中自动进行的,也...

    1 年前
  • PWA 开发中使用 Code Splitting 进行应用分割的最佳实践

    引言 随着前端技术的不断进步,越来越多的Web应用开始向PWA(渐进式Web应用)转型。而PWA作为一种通过现代Web技术提高Web应用的可靠性、流畅性和安全性的新兴技术,在提高Web应用体验方面发挥...

    1 年前
  • ES10 中的新增 Array.{flat,flatMap} 方法,打破你之前数组操作的认识

    ES10 中的新增 Array.{flat,flatMap} 方法,打破你之前数组操作的认识 在前端开发中,操作数组是不可避免的一部分。在 ES10 中,新增了两个数组方法:Array.flat 和 ...

    1 年前

相关推荐

    暂无文章