了解 TypeORM 模块

5d31ece9701ff3e1e482745af102b51d.png

TypeORM是一个在Node.js中使用的ORM(对象关系映射)库。它可以用来在JavaScript或TypeScript中与数据库进行交互。TypeORM支持多种数据库系统,包括MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL等。

以下是如何在Node.js项目中安装和使用TypeORM的基本步骤:

首先,你需要在你的项目中安装TypeORM。你可以使用npm(Node包管理器)来做这个。在你的命令行中运行以下命令:

npm install typeorm --save

创建一个TypeORM连接。这通常在你的应用程序启动时完成。以下是一个创建连接的例子:

const {createConnection} = require('typeorm');


createConnection({
    type: "mysql",
    host: "localhost",
    port: 3306,
    username: "test",
    password: "test",
    database: "test",
    entities: [
        __dirname + "/entity/*.js"
    ],
    synchronize:,
}).then(connection => {
    // 这里可以开始使用你的实体进行数据库操作
}).catch(error => console.log(error));

定义你的实体。实体在TypeORM中是数据库表的模型表示。以下是一个简单的实体例子:

const {Entity, PrimaryGeneratedColumn, Column} = require('typeorm');


@Entity()
class User {
    @PrimaryGeneratedColumn()
    id = undefined;


    @Column("text")
    name = "";


    @Column("text")
    password = "";
}


module.exports = User;

使用你的实体进行数据库操作。以下是一个插入新用户的例子:

let user = new User();
user.name = "John";
user.password = "password";
await connection.manager.save(user);

以上就是TypeORM的基本使用。TypeORM有很多其他的特性和选项,你可以在TypeORM的官方文档中找到更多的信息。

在TypeORM中,你可以使用Repository API进行增删改查操作。以下是一些基本示例:

插入(Create)

let user = new User();
user.name = "John";
user.password = "password";
await connection.manager.save(user);

查询(Read)

// 查询所有用户
let users = await connection.manager.find(User);


// 根据ID查询用户
let user = await connection.manager.findOne(User, 1);


// 根据条件查询用户
let users = await connection.manager.find(User, { name: "John" });

更新(Update)

let user = await connection.manager.findOne(User, 1);
user.name = "Updated Name";
await connection.manager.save(user);

删除(Delete)

let user = await connection.manager.findOne(User, 1);
await connection.manager.remove(user);

注意:在上述示例中,connection.manager是一个EntityManager实例,它提供了一组用于数据库操作的方法。你也可以使用getRepository方法获取一个特定实体的Repository,然后使用它进行数据库操作,例如:

let userRepository = connection.getRepository(User);
let user = await userRepository.findOne(1);

在实际使用中,你可能需要根据你的具体需求和数据库结构来调整这些示例。

TypeORM可以运行原生的SQL命令。你可以使用query方法来执行任何SQL命令。以下是一个例子:

const result = await connection.manager.query('SELECT * FROM users');

在这个例子中,query方法执行了一个原生的SQL查询,返回一个Promise,这个Promise resolve时会返回查询结果。

但是,尽管TypeORM支持运行原生SQL,我们仍然建议尽可能使用TypeORM的API进行数据库操作,因为这样可以利用TypeORM的许多特性,例如类型安全、自动完成和SQL注入防护。只有在TypeORM的API无法满足需求时,才应考虑使用原生SQL。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值