24_TypeOrm连接数据库

简介: 24_TypeOrm连接数据库

typeorm是TypeScript的一个对象关系映射器,可以和Nest.js框架结合使用

  1. 安装依赖

npm install --save @nestjs/typeorm typeorm mysql2

  1. 插件市场安装Database Client插件

  1. 新建一个数据库(demo)
-- Active: 1681047696387@@127.0.0.1@3306
CREATE DATABASE `demo`
    DEFAULT CHARACTER SET = 'utf8mb4';
  1. 在app.module.ts中连接数据库
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
  imports: [
    // 使用TypeOrmModule的forRoot方法,传入一个包含数据库信息的对象
    TypeOrmModule.forRoot({
      type: 'mysql', //数据库类型
      username: 'root', //账号
      password: '123456', //密码
      host: 'localhost', //host
      port: 3306, //
      database: 'demo', //库名
      // entities: [__dirname + '/**/*.entity{.ts,.js}'], //实体文件(因为有最后一行所以这行可以不需要)
      synchronize: true, //synchronize字段代表是否自动将实体类同步到数据库
      retryDelay: 500, //重试连接数据库间隔
      retryAttempts: 10, //重试连接数据库的次数
      autoLoadEntities: true, //如果为true,将自动加载实体 forFeature()方法注册的每个实体都将自动添加到配置对象的实体数组中
    }),
  ],
  controllers: [AppController, DemoController],
  providers: [AppService],
})
  1. 定义实体,本例中我用nest g res test新建了一个目录,因此我们在test.entity.ts中定义。实体中的内容会被typeorm解析成对应的sql语句
import { Entity, Column, PrimaryColumn } from 'typeorm';
// 实体装饰器
@Entity()
// 类名会变成数据库中的Table名
export class Test {
  // 自增列(唯一id)
  @PrimaryGeneratedColumn()
  id: string;
  // 普通列
  @Column()
  name: string;
  @Column()
  password: string;
  @Column()
  age: number;
}
  1. 在test.module.ts里关联实体
import { Module } from '@nestjs/common';
import { TestService } from './test.service';
import { TestController } from './test.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Test } from './entities/test.entity';
@Module({
  // 这里调用forFeature方法,注意不是forRoot
  imports: [TypeOrmModule.forFeature([Test])],
  controllers: [TestController],
  providers: [TestService],
})
export class TestModule {}

完成以上步骤后,使用npm run start:dev即可,数据库中可以看到新建的Test表

目录
相关文章
|
6天前
|
SQL Java 数据库连接
连接数据库实现查询员工信息
该博客文章展示了如何在Java中使用JDBC连接SQL Server数据库,并执行查询操作来检索员工信息,包括加载数据库驱动、建立连接、创建SQL查询、处理结果集以及关闭数据库资源的完整示例代码。
连接数据库实现查询员工信息
|
6天前
|
SQL Java 数据库连接
java连接数据库加载驱动到java项目
该博客文章介绍了如何在Java项目中通过代码加载数据库驱动并连接SQL Server数据库,包括具体的加载驱动和建立数据库连接的步骤,以及如何将驱动包添加到Java项目的构建路径中。
|
6天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
6天前
|
SQL Java 数据库连接
连接数据库修改用户信息
该博客文章通过Java JDBC代码示例演示了如何连接SQL Server数据库,并执行更新操作来修改用户信息,具体将小张的工作改为教授,并检查更新操作是否成功。
|
13天前
|
数据可视化 搜索推荐 数据挖掘
基于Python flask 的数据可视化平台,可定制,可连接数据库
本文介绍了一个基于Python Flask框架开发的可定制数据可视化平台,该平台支持多种数据库连接,并提供丰富的图表类型和个性化设置,以实现交互式数据分析和展示。
基于Python flask 的数据可视化平台,可定制,可连接数据库
|
20天前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之使用polardb for mysql数据库的外网地址在程序中连接经常超时,如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
21天前
|
SQL 关系型数据库 数据库
|
21天前
|
SQL 存储 关系型数据库
|
1天前
|
关系型数据库 MySQL 数据库
成功解决:Navicat 连接虚拟机Docker中的mysql数据库失败(仅限某些特殊情况)
这篇文章介绍了在Ubuntu环境中使用Docker部署Flask项目的方法,包括创建测试项目、设置数据库、构建Flask和Nginx镜像以及容器编排,其中使用了MySQL 5.7作为数据库,Flask 2.0.2作为Web框架,Gunicorn 20.1.0作为应用服务器,Nginx 1.21.4作为反向代理,并解决了Navicat连接Docker中的MySQL数据库失败的问题。