首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • TypeORM用法浅析

    typeorm 就是一种orm框架,它可以运行在 NodeJS、Browser、React Native、Electron 等平台上,可以与 TypeScript 和 JavaScript (ES5,ES6 本文以nestjs框架为例,nestjs和typeorm有着紧密的集成,提供了开箱即用的@nestjs/typeorm,更方便地进行数据库的连接,实体管理和依赖注入,详细可查看文档Database。 有了@nestjs/typeorm的帮助,在service中进行数据操作变得更为便捷高效,主要集中在Repository和EntityManager两种API上。2. return await this.usersRepository.save(createUserDto);}这里使用了两种写法,第一种在insert里显示的创建了User实体,第二种实体由typeorm 多表联查TypeORM官方文档中,实体关系实际上是通过mysql的外键实现的,先在entity实体代码上添加关系,再使用leftJoinAndSelect等进行关联查询。

    1.7K21编辑于 2024-05-13
  • 来自专栏全栈程序员必看

    Typeorm_Type-C

    TypeORM 是一个ORM (opens new window)框架,它可以运行在 NodeJS、Browser、Cordova、PhoneGap、Ionic、React Native、Expo 和 不同于现有的所有其他 JavaScript ORM 框架,TypeORM 支持 Active Record 和 Data Mapper 模式,这意味着你可以以最高效的方式编写高质量的、松耦合的、可扩展的 TypeORM 参考了很多其他优秀 ORM 的实现, 比如 Hibernate (opens new window), Doctrine (opens new window)和 Entity Framework TypeORM 的一些特性: 支持 DataMapper 和 ActiveRecord (随你选择) 实体和列 数据库特性列类型 实体管理 存储库和自定义存储库 清晰的对象关系模型 关联(关系) 贪婪和延迟关系

    2.6K20编辑于 2022-09-20
  • 来自专栏node-后端

    express+ts+typeorm入门

    有时候我们想使用 typescript开发业务,然后使用 typeorm 链接我们的 mysql 数据库, 应该怎么创建我们的项目呢? 在使用 typeorm 的时候, 可能很多人看到这个 ORM 大部分使用的 装饰器, 今天我们用 express去集成一下 纯的用 typeorm 可能你没有啥问题, 但是 typescript + typeorm 集成可能会出现各种各样的 bug, 今天手把手我们一起实践 注:纯 js版本写 typeorm 的 实体也是可以的, 不一定要写 装饰器的class 定义实体 我们现在开始吧! 环境安装 pnpm init pnpm add express -S pnpm add @types/express typescript @types/node -D # 安装 typeorm pnpm add typeorm reflect-metadata -S # 数据库 pnpm add mysql2 -S # 安装 `ts-node` 支持在 开发环境运行 ts 代码 # 安装 `nodemon

    85520编辑于 2024-08-15
  • 来自专栏技术/开源

    【译】Nodejs最好的ORM - TypeORM

    TypeORM github: https://github.com/typeorm/typeorm 这篇译文是从TypeORM github上的使用说明上翻译过来的,已经提交PR并merge到库中了 TypeORM可以帮助开发者专注于业务逻辑,而不用过于担心数据存储的问题。 安装 安装TypeORM: npm install typeorm --save 需要安装依赖模块 reflect-metadata : npm install reflect-metadata - 在浏览器中使用WebSQL (试用) TypeORM可以在浏览器环境中工作,并且试验性的支持WebSQL 如果在浏览器环境中使用TypeORM需要使用 npm i typeorm-browser 来替代 typeorm.

    20.4K133发布于 2018-01-04
  • 来自专栏前端专享

    TypeORM 多对多查询实现

    一篇文章可以有多个分类,一个分类可以包含多篇文章 实体定义 import { Entity, Column, PrimaryGeneratedColumn, ManyToMany, JoinTable, } from 'typeorm ) @JoinTable() categories: Category[] } import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm 可以使用Repository API 查询 import { getManager, Repository, FindManyOptions, FindConditions, Like } from 'typeorm data, total] = await articleRepository.findAndCount(options) 但是如果查询的字段需要连表查询,leftJoin、 innerJoin, 就需要用到typeORM 提供的QueryBuilder import { getManager, Repository, FindManyOptions, FindConditions, Like } from 'typeorm

    4.3K20发布于 2021-11-15
  • 来自专栏编译思想

    【个人笔记】Nestjs使用TypeORM注意点

    在Nestjs使用TypeORM还是有一些注意点。 entities路径配置注意点 在nestjs中使用TypeORM,需要配置数据库连接(以MySQL为例)。 首先,我建议最好直接在使用 TypeORM.forRoot 来引入配置,就像下面一样: // app.module.ts const entitiesPaths = [join(__dirname, ' 不小心直接把名称字符串作为参数: import {Column, Entity, PrimaryColumn} from "typeorm"; @Entity('user') export class 要传一个对象,这个对象有个name字段,来表示列名: import {Column, Entity, PrimaryColumn} from "typeorm"; @Entity('user') export

    1K30编辑于 2023-10-17
  • 来自专栏愧怍的技术学习与分享

    有了 Prisma,就别用 TypeORM

    文档&生态​ 从文档的细致程度上 Prisma 比 TypeORM 要清晰详尽。 findOne(undefined) 所查询到的却是第一条记录​ 首先 TypeORM 有个天坑,你可以在 这个 Issue 中查看详情或查看 这篇文章 是如何破解使用 TypeORM 的 Node.js 但从此而言也可以看的出,TypeORM 在现今或许并不是一个很好的选择。 这里就不展开了,使用过 TypeORM 的应该深有体会。 TypeORM 有种被 nestjs 深度绑定的模样,一提到 TypeORM,想必第一印象就是 Nestjs 中所用到的 ORM 框架。

    5.3K22编辑于 2024-01-14
  • 来自专栏随便写写

    使用NestJs、GraphQL、TypeORM搭建后端服务

    TypeORM则是使用TypeScript编写的JavaScript版本的ORM库。 我们先来将TypeORM相关依赖添加到项目,依赖包括三部分,分别是NestJs支持TypeORM的依赖包@nestjs/typeormTypeORM本身typeorm,数据库支持MySQL。 $ npm i @nestjs/typeorm --save $ npm i typeorm --save $ npm i mysql --save 除此之外,我们还需要开启MySQL服务,可以是本地的也是线上的 image.png 3.2、改造app.module.ts 从@nestjs/typeorm中引入NestJs与TypeORM连接模块*TypeOrmModule,然后传入一个Object作为与数据库链接的 TypeORM的基本方法了解: Entity:实体装饰器,将一个类声明为一个实体。

    7.7K10发布于 2020-11-14
  • 来自专栏杰的记事本

    node 数据库ORM框架TypeORM入门

    官方地址 https://github.com/typeorm/typeorm TypeORM是一个采用TypeScript编写的用于Node.js的优秀ORM框架,支持使用TypeScript或Javascript TypeORM可以帮助开发者专注于业务逻辑,而不用过于担心数据存储的问题。 安装 安装TypeORM:npm install typeorm --save 需要安装依赖模块 reflect-metadata :npm install reflect-metadata --save 在浏览器中使用WebSQL (试用) TypeORM可以在浏览器环境中工作,并且试验性的支持WebSQL 如果在浏览器环境中使用TypeORM需要使用 npm i typeorm-browser 来替代  typeorm.

    9.8K31发布于 2019-09-04
  • 来自专栏计算机编程

    Typeorm 字段名驼峰转下划线命名

    官网上面没有直接提示和说明如何驼峰转下划线,就算是查询API,和下载demo 里面都没有详细提供参考,特此根据使用经验,开辟此文章来完成对此方式详细说明。 1、Column @Column() abc_abc; @Column({name: 'abc_abc'}) abcAbc; 直接写下划线命名即可在数据库中显示为下划线名称,如果讲究十分规范的话,请使用下面的写发,指定name为下划线名称。 2、OneToOne && ManyToOne @OneTo

    2.4K50发布于 2019-02-25
  • 来自专栏程序员成长指北

    基于 Nest.js+TypeORM 实战,项目已开源,推荐!

    数据表关系 前面文章中已经说了TypeORM建表时,是通过@Entity()装饰的class 映射为数据表, 所以实体中的关系也就是表关系。 接下来探索一下如何用TypeORM创建一对一、一对多和多对多的关系。 一对一 一对一指的是表中一条数据仅关联另外一个表中的另一条数据。例如用户表和用户档案表, 一个用户只有一份档案。 我们在TypeORM中如何实现user表和info之间这种对一对的关系呢? 同样我们用代码看看TypeOrm中如何实现这种关系的: // category.entity.ts import {PostEntity} from "../.. 中间表是通过TypeORM 自动创建的一个特殊的单独表, 其中包含引用相关实体的列。通过配置joinColumns和inverseJoinColumns来自定义中间表的列名称。

    12.5K41编辑于 2022-03-24
  • 来自专栏Nodejs技术栈

    NestJS、TypeORM 和 PostgreSQL 项目开发和数据库迁移完整示例(译)

    让我们使用预构建的 NestJS-to-TypeORM 模块为我们的项目添加 TypeORM 支持。 您可以像这样添加所需的模块: npm install --save @nestjs/typeorm typeorm pg 配置管理 我们可以在 Nest.js 中配置 TypeORM 连接到哪个数据库服务器 以下是如何设置 typeORM CLI 的最佳实践。 /node_modules/typeorm/cli.js", "typeorm:migration:generate": "npm run typeorm -- migration:generate - n", "typeorm:migration:run": "npm run typeorm -- migration:run" 2.

    6.5K30发布于 2021-11-30
  • 来自专栏腾讯IMWeb前端团队

    NestJS、TypeORM 和 PostgreSQL 项目开发和数据库迁移完整示例(译)

    让我们使用预构建的 NestJS-to-TypeORM 模块为我们的项目添加 TypeORM 支持。 您可以像这样添加所需的模块: npm install --save @nestjs/typeorm typeorm pg 配置管理 我们可以在 Nest.js 中配置 TypeORM 连接到哪个数据库服务器 以下是如何设置 typeORM CLI 的最佳实践。 /node_modules/typeorm/cli.js", "typeorm:migration:generate": "npm run typeorm -- migration:generate - n", "typeorm:migration:run": "npm run typeorm -- migration:run" 2.

    6.1K10编辑于 2022-06-29
  • 来自专栏程序员成长指北

    NestJS、TypeORM 和 PostgreSQL 项目开发和数据库迁移完整示例(译)

    让我们使用预构建的 NestJS-to-TypeORM 模块为我们的项目添加 TypeORM 支持。 您可以像这样添加所需的模块: npm install --save @nestjs/typeorm typeorm pg 配置管理 我们可以在 Nest.js 中配置 TypeORM 连接到哪个数据库服务器 以下是如何设置 typeORM CLI 的最佳实践。 /node_modules/typeorm/cli.js", "typeorm:migration:generate": "npm run typeorm -- migration:generate - n", "typeorm:migration:run": "npm run typeorm -- migration:run" 2.

    7.7K21编辑于 2021-12-22
  • 来自专栏calvin

    【nodejs】让nodejs像后端mvc框架(asp.net mvc)一orm篇【如EF般丝滑】typeorm介绍(88)

    typeorm github地址 typeorm github地址 遂通过baidu、google找到了typeorm这个orm框架。 typeorm 项目介绍 此项目github上的第一句介绍: ORM for TypeScript and JavaScript (ES7, ES6, ES5). Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. remark: TypeORM is highly influenced Some TypeORM features: supports both DataMapper and ActiveRecord (your choice) entities and columns database-specific typeorm mongodb 初始化配置 比如数据库链接字符串,实体类,还有一些其他配置等等 InitMongoDb({ url: _appConfig.mongodb.url, entities

    2.6K20发布于 2018-11-20
  • 来自专栏Java实战博客

    certd – 自动续期 SSL 证书 – Docker 部署 – 开源、免费、全自动的证书管理工具

    # 数据库类型 # - certd_typeorm_dataSource_default_host=localhost # 数据库地址 # - certd_typeorm_dataSource_default_port=5433 # 数据库端口 # - certd_typeorm_dataSource_default_username /db/migration-mysql # 升级脚本目录 # - certd_typeorm_dataSource_default_type=mysql # 数据库地址 # - certd_typeorm_dataSource_default_port=3306 # 数据库端口 # - certd_typeorm_dataSource_default_username # 密码 # - certd_typeorm_dataSource_default_database=certd # 数据库名 # ↓↓↓↓

    1.2K10编辑于 2025-02-06
  • 来自专栏秋风的笔记

    做了一个Nest.js上手项目,很丑,但适合练手和收藏

    , host: env.TYPEORM_HOST, port: parseInt(env.TYPEORM_PORT, 10) || 3306, username: env.TYPEORM_USERNAME -- -n", "migration:run": "npm run build && npm run typeorm migration:run" 但是,TypeORM 是从哪知道数据表的结构的呢? /#/using-ormconfig # 生产环境在服务器上的容器里配置 TYPEORM_CONNECTION=mariadb TYPEORM_DATABASE=nest_todo TYPEORM_HOST =127.0.0.1 TYPEORM_PORT=3306 TYPEORM_USERNAME=root TYPEORM_PASSWORD=123456 TYPEORM_ENTITIES=dist/**/* .entity{.ts,.js} TYPEORM_MIGRATIONS=dist/src/db/migrations/*.js TYPEORM_MIGRATIONS_DIR=src/db/migrations

    5.2K42发布于 2021-09-22
  • 来自专栏海怪的编程小屋

    做了一个Nest.js上手项目,很丑,但适合练手和收藏

    , host: env.TYPEORM_HOST, port: parseInt(env.TYPEORM_PORT, 10) || 3306, username: env.TYPEORM_USERNAME -- -n", "migration:run": "npm run build && npm run typeorm migration:run" 但是,TypeORM 是从哪知道数据表的结构的呢? /#/using-ormconfig # 生产环境在服务器上的容器里配置 TYPEORM_CONNECTION=mariadb TYPEORM_DATABASE=nest_todo TYPEORM_HOST =127.0.0.1 TYPEORM_PORT=3306 TYPEORM_USERNAME=root TYPEORM_PASSWORD=123456 TYPEORM_ENTITIES=dist/**/* .entity{.ts,.js} TYPEORM_MIGRATIONS=dist/src/db/migrations/*.js TYPEORM_MIGRATIONS_DIR=src/db/migrations

    3.7K30编辑于 2022-03-30
  • 来自专栏开源服务指南

    适用于 JS/TS 的 ORM 框架:高质量、松耦合、可扩展 | 开源日报 No.271

    typeorm/typeormhttps://github.com/typeorm/typeorm Stars: 33.5k License: MIT TypeORM 是 TypeScript 和 JavaScript TypeORM 的核心目标是始终支持最新的 JavaScript 特性,并提供额外的功能,帮助您开发任何类型的数据库应用程序——从具有少量表的小型应用程序到具有多个数据库的大型企业应用程序。 TypeORM 支持 Data Mapper 和 Active Record 两种模式,这与当前存在的所有其他 JavaScript ORM 不同,这意味着您可以以最有效的方式编写高质量、松耦合、可扩展 TypeORM 在很大程度上受到其他 ORM 的影响,如 Hibernate、Doctrine 和 Entity Framework。 支持 TypeScript 和 JavaScript。

    1.1K10编辑于 2024-06-11
  • 来自专栏神光的编程秘籍

    Nest.js 快速入门:实现对 Mysql 单表的 CRUD

    基础 mysql 数据库和 Typeorm 首先从离前端比较远的数据库讲起。 Service 负责业务逻辑的实现,基于 Typeorm 的增删改查功能来实现各种上层业务逻辑。 Nest.js 结合 Typeorm Typeorm 是做把对象的操作通过 sql 同步为对数据库操作的 orm 的,而 Nest.js 是做 Web 后端应用的 MVC 分层以及通过 IOC 管理对象的创建和依赖的 这俩很自然的可以结合,结合的方式就是 @nestjs/typeorm 包。 Typeorm 和 Nest.js 的结合使用 @nestjs/typeorm 的包,它提供了一个 TypeormModule 的模块,有 forRoot 和 forFeature 两个静态方法。

    5K30编辑于 2021-12-26
领券