📝 TypeORM教程

20篇技术文档
  TypeORM教程

📅  最后修改于: 2020-10-19 03:38:08        🧑  作者: Mango

TypeORM是TypeScript和JavaScript的对象关系映射器库。 TypeORM是技术堆栈中“微框架”类别中的工具。本教程将介绍TypeORM框架的基础知识,如何设置实体对象,如何配置对象之间的关系,如何从数据库存储数据/向数据库检索数据,如何自定义存储库实例以操作给定的数据库并最终得出结论。具有不同的数据库操作。听众本教程是为渴望使用对象关系映射在后端数据库开发领域中职业的专业人员...

  TypeORM-简介

📅  最后修改于: 2020-10-19 03:38:27        🧑  作者: Mango

TypeORM框架是对象关系映射(ORM)框架。通常,对象部分是指应用程序中的域/模型,关系部分是指关系数据库管理系统中的表之间的关系(例如Oracle,MySQL,MS-SQL,PostgreSQL等),最后,映射部分是指桥接模型和表格的行为。ORM是一种将实体与数据库表进行映射的工具。 ORM通过自动执行对象到表和表到对象的转换来简化开发过程。一旦可以在一个地方编写数据模型,就可以更轻松地更新...

  TypeORM-安装

📅  最后修改于: 2020-10-19 03:38:49        🧑  作者: Mango

本章介绍了如何在计算机上安装TypeORM。进行安装之前,请确保已安装npm。要确认您拥有npm,可以在终端中运行以下命令。它显示了版本。如果尚未安装,请下载最新版本并安装在您的计算机上。安装TypeORM让我们使用npm模块在本地安装TypeORM-执行完上述命令后,您将得到如下响应:另外,要全局安装TypeORM,请使用以下命令-之后,使用npm安装可选软件包reflect-metadata-...

  TypeORM-创建简单项目

📅  最后修改于: 2020-10-19 03:39:14        🧑  作者: Mango

本章介绍有关如何创建简单的TypeORM应用程序的信息。让我们创建一个名为“ TypeORM”的新目录并移至该目录。句法使用以下命令创建新项目-例这里,FirstProject是您的项目名称,sqlite3是数据库名称。执行完上述命令后,您会看到以下响应,现在,进入我们的项目目录并使用npm模块安装项目依赖项,项目结构让我们了解我们新创建的项目FirstProject的项目结构。这里,src-包含...

  TypeORM-连接API

📅  最后修改于: 2020-10-19 03:39:37        🧑  作者: Mango

要与数据库交互,我们需要一个到数据库的连接对象。我们需要在执行数据库操作之前创建一个连接对象,并且必须在完成数据库操作后终止它。让我们了解本节中TypeORM提供的Connection API。创建一个新的连接在创建新连接之前,我们需要在ormconfig.json配置文件中配置数据库连接详细信息。连接细节示例如下所示-ormconfig.json这里,name-数据库连接的名称。type-数据库...

  TypeORM-实体

📅  最后修改于: 2020-10-19 03:40:29        🧑  作者: Mango

实体是字段和关联的数据库操作的集合。它用于将数据库表及其字段与实体及其属性进行映射。本章详细说明TypeORM实体。介绍让我们在代码中创建一个简单的Entity类。移至您的项目根目录,然后进入src文件夹并移至实体文件夹。现在,创建一个TypeScript文件Student.ts并输入以下代码-学生这里,Entity()装饰器类用于表示Student类是一个实体。PrimaryGeneratedC...

  TypeORM-关系

📅  最后修改于: 2020-10-19 03:40:59        🧑  作者: Mango

关系用于引用数据库中表之间的关系。通常,当两个表中的一个具有引用另一个表的主键的外键时,两个表之间就存在关系。此功能使关系数据库更强大且更有效地存储信息。TypeORM允许实体相互关联,并随后与数据库表关联。通常,关系可以分为四大类。它们如下一对一-给定实体的一个对象仅与目标实体的一个对象相关,反之亦然。例如,一个国家只有一个首都,而一个城市将仅是一个国家的首都。多对一-给定实体的多个对象与目标实...

  TypeORM-使用存储库

📅  最后修改于: 2020-10-19 03:41:29        🧑  作者: Mango

存储库特定于实体。换句话说,每个实体都有自己的内置存储库,可以使用连接对象的getRepository()方法对其进行访问,如下所示:一旦创建了学生存储库对象,就可以将其用于执行学生对象的所有数据库操作。储存库类型存储库分为四类。它们如下-资料库实体的默认存储库,可以使用下面指定的getRepository()方法访问它-现在,studRepository可用于查询学生表树存储库用于树状结构实体,...

  TypeORM-使用实体管理器

📅  最后修改于: 2020-10-19 03:41:53        🧑  作者: Mango

EntityManager与存储库相似,用于管理数据库操作,例如插入,更新,删除和加载数据。虽然存储库处理单个实体,但是EntityManager对于所有实体都是通用的,并且能够对所有实体执行操作。实体管理器API我们可以使用下面指定的getManager()方法访问EntityManager-让我们学习本章中最重要的EntityManager方法。连接连接方法将数据库ORM连接返回到特定数据库。...

  TypeORM-查询生成器

📅  最后修改于: 2020-10-19 03:42:32        🧑  作者: Mango

使用查询构建器可以轻松地构建复杂的SQL查询。它是从Connection方法和QueryRunner对象初始化的。我们可以通过三种方式创建QueryBuilder。连接考虑一个简单的示例,该示例说明如何使用连接方法来使用QueryBuilder。实体经理让我们使用实体管理器创建查询生成器,如下所示:资料库我们可以使用存储库来创建查询构建器。如下所述,别名别名与SQL别名相同。我们使用QueryBu...

  TypeORM-查询操作

📅  最后修改于: 2020-10-19 03:42:58        🧑  作者: Mango

数据操作用于管理和查看数据。本节说明如何使用QueryBuilder访问数据库查询,例如插入,更新,选择和删除查询。让我们详细地逐一进行。构建插入查询让我们创建一个Customer实体,如下所示:客户让我们在index.ts中添加以下更改,如下所示:索引现在,使用以下命令启动您的应用程序-输出您可以在屏幕上看到以下输出-现在打开您的mysql服务器,该表插入了两个字段,如下所示-建立更新查询在上一...

  TypeORM-交易

📅  最后修改于: 2020-10-19 03:43:17        🧑  作者: Mango

通常,事务是负责执行数据检索和更新的逻辑单元。本节详细说明有关事务。创建交易我们可以使用连接或EntityManage创建事务。下面的示例用于指定创建连接并将数据保存在其中。EntityManager如下所示-装饰工TypeORM中有三种与事务相关的修饰符。@Transaction-将所有执行包装在单个数据库事务中。@TransactionManager-用于在事务内执行查询。定义如下这里,我们使...

  TypeORM-指数

📅  最后修改于: 2020-10-19 03:43:35        🧑  作者: Mango

通常,建立索引是通过优化数据存储来优化数据库性能的过程。它用于快速定位和访问数据库中的数据。本节说明有关如何在TypeORM中使用索引。指数分为不同类型。让我们详细地逐一进行。列索引我们可以使用@Index为特定列创建索引。考虑如下所示的Customer实体示例,并为firstName列定义索引,@Index也允许为索引指定名称-唯一索引要在列中指定唯一性约束,请使用以下属性-例如,下面是为“名称...

  TypeORM-实体侦听器和日志记录

📅  最后修改于: 2020-10-19 03:44:03        🧑  作者: Mango

实体侦听器用于支持自定义方法并侦听特定事件的实体。我们可以使用装饰器定义任何实体自定义方法。让我们简单地了解装饰器。@AfterLoad-使用QueryBuilder或存储库/管理器加载实体时,将调用此方法。@BeforeInsert-在使用存储库/管理器插入实体之前,将调用此方法。@AfterInsert-使用存储库/管理器插入实体后,将调用此方法。@BeforeUpdate-在使用存储库/管理...

  带JavaScript的TypeORM

📅  最后修改于: 2020-10-19 03:44:25        🧑  作者: Mango

TypeORM支持的默认语言是TypeScript。由于TypeScript支持静态类型,类和装饰器,因此很容易定义实体及其属性。同时,在某些首选语言为JavaScript的项目中,JavaScript也是必需的。TypeORM也提供对JavaScript语言的全面支持。 TypeORM支持es5和es6两种JavaScript。在本章中,让我们学习如何在JavaScript ES5(ECMASc...