前言
在 Node.js 中使用 ORM(Object-Relational Mapping,对象关系映射)框架,可以让我们更方便地操作数据库,避免直接操作 SQL 语句带来的繁琐和安全问题。TypeORM 是一个基于 TypeScript 的 ORM 框架,支持多种数据库,如 MySQL、PostgreSQL、SQLite、MariaDB、MongoDB 等。本文将介绍如何在 Node.js 中使用 TypeORM 进行 ORM 映射。
安装
首先,我们需要安装 TypeORM 和对应的数据库驱动。以 MySQL 为例:
npm install typeorm mysql
配置
在使用 TypeORM 之前,我们需要进行一些配置。在项目根目录下创建一个 ormconfig.json
文件,用于存放数据库连接信息和 TypeORM 的配置。
-- -------------------- ---- ------- - ------- -------- ------- ------------ ------- ----- ----------- ------- ----------- --- ----------- ------- -------------- ----- ---------- ------ ----------- - ------------------- -- ------------- - --------------------- -- -------------- - ---------------------- - -
其中,type
表示数据库类型,host
和 port
表示数据库连接地址和端口号,username
和 password
表示数据库登录信息,database
表示要连接的数据库名。synchronize
表示是否自动同步数据库结构,logging
表示是否输出 TypeORM 的日志信息。entities
、migrations
和 subscribers
分别表示实体类、迁移脚本和事件订阅器所在的目录。
实体类
在 TypeORM 中,我们需要创建实体类来映射数据库表。实体类需要使用 @Entity
装饰器进行修饰,同时需要使用 @Column
装饰器修饰实体类的属性。
以用户表为例,创建一个 User
实体类:
-- -------------------- ---- ------- ------ - ------- ------- ---------------------- - ---- ---------- --------- ------ ----- ---- - ------------------------- --- ------- --------- ----- ------- --------- ---- ------- -
其中,@PrimaryGeneratedColumn
表示主键,@Column
表示普通字段。
数据库操作
在 TypeORM 中,我们可以使用 Repository 对象进行数据库操作。Repository 对象是实体类的管理器,负责实体类的增删改查等操作。
连接数据库
在进行数据库操作之前,我们需要先连接数据库。可以使用 createConnection
函数创建一个数据库连接,也可以使用 getConnection
函数获取一个已经存在的连接。
import { createConnection } from 'typeorm'; createConnection().then(() => { console.log('数据库连接成功'); }).catch(error => { console.log('数据库连接失败', error); });
插入数据
使用 Repository 对象的 save
方法可以插入一条数据。
-- -------------------- ---- ------- ------ - ------------- - ---- ---------- ------ - ---- - ---- ------------------ ----- -------------- - -------------------- ----- ---- - --- ------- --------- - ----- -------- - --- --------------------------------- -- - ---------------------- -------------- -- - --------------------- ------- ---
查询数据
使用 Repository 对象的 find
方法可以查询多条数据,使用 findOne
方法可以查询一条数据。
-- -------------------- ---- ------- ------ - ------------- - ---- ---------- ------ - ---- - ---- ------------------ ----- -------------- - -------------------- -------------------------------- -- - -------------------- ------- -------------- -- - ------------------- ------- --- ----------------------------------- -- - -------------------- ------ -------------- -- - ------------------- ------- ---
更新数据
使用 Repository 对象的 save
方法可以更新一条数据。
-- -------------------- ---- ------- ------ - ------------- - ---- ---------- ------ - ---- - ---- ------------------ ----- -------------- - -------------------- ----------------------------------- -- - -------- - --- ------ -------------------------- ---------- -- - ---------------------- -------------- -- - --------------------- ------- ---
删除数据
使用 Repository 对象的 delete
方法可以删除一条数据。
-- -------------------- ---- ------- ------ - ------------- - ---- ---------- ------ - ---- - ---- ------------------ ----- -------------- - -------------------- -------------------------------- -- - ---------------------- -------------- -- - --------------------- ------- ---
总结
本文介绍了在 Node.js 中使用 TypeORM 进行 ORM 映射的方法,包括安装、配置、实体类的创建和数据库操作的增删改查等。TypeORM 提供了一种更加方便和安全的方式来操作数据库,可以提高开发效率和代码的可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65728bf3d2f5e1655db70d01