typeorm 查询_TypeORM-查询操作
时间: 2024-01-07 15:05:41 浏览: 40
TypeORM 支持多种查询操作,以下是一些常见的查询操作:
1. 基本查询
使用 `createQueryBuilder` 方法创建查询构建器,然后链式调用各种查询方法即可。
```typescript
const users = await getConnection()
.createQueryBuilder()
.select()
.from(User, "user")
.where("user.name = :name", { name: "John" })
.getMany();
```
2. 条件查询
使用 `where` 方法添加条件查询,支持多种条件操作符,如 `=`、`>`、`<`、`LIKE` 等。
```typescript
const users = await getConnection()
.createQueryBuilder()
.select()
.from(User, "user")
.where("user.age >= :age", { age: 18 })
.andWhere("user.gender = :gender", { gender: "male" })
.getMany();
```
3. 排序查询
使用 `orderBy` 方法添加排序查询,支持多种排序方式,如升序、降序等。
```typescript
const users = await getConnection()
.createQueryBuilder()
.select()
.from(User, "user")
.orderBy("user.age", "DESC")
.getMany();
```
4. 分页查询
使用 `skip` 和 `take` 方法实现简单的分页查询。
```typescript
const users = await getConnection()
.createQueryBuilder()
.select()
.from(User, "user")
.skip(10)
.take(10)
.getMany();
```
5. 关联查询
使用 `leftJoin`、`innerJoin`、`leftJoinAndSelect`、`innerJoinAndSelect` 等方法进行关联查询。
```typescript
const users = await getConnection()
.createQueryBuilder()
.select()
.from(User, "user")
.leftJoinAndSelect("user.posts", "post")
.getMany();
```
以上是一些常见的 TypeORM 查询操作,更多详细的查询方法可以参考官方文档。
阅读全文