TypeORM构建器[查询常用版]

TypeORM查询的构建器,查询及其强大,我总结了几点常用查询方式。

// 创建构建器
const entity = 实体.createQueryBuilder('表名');

精准查询

// 精准匹配delFlag = '0'
entity.where('entity.delFlag = :delFlag', { delFlag: '0' });

模糊查询

// 模糊查询title字段包含 'hhh' 的数据
entity.andWhere(`entity.title LIKE "%${'hhh'}%"`)

筛选查询

筛选符合数组里面任意一个值
// 筛选查询 查询developer字段中包含developers之内的数据
const developers: string[] = ['aa','bb','cc']
entity.andWhere(`entity.developer IN (:...developers)`, { developers })
筛选符合数组中所有的值
const developers: string[] = ['aa','bb','cc']
developers.forEach((developer, index) => {
    entity.andWhere(`FIND_IN_SET(:developer${index}, entity.developer) > 0`, 
    {[`developer${index}`]: developer });
});

时间查询

// 查询createTime字段时间范围为2024-08-22 00:00:00 - 2024-08-26 23:59:59 的数据
entity.andWhere('entity.createTime BETWEEN :start AND :end', { start: '2024-08-22 00:00:00', end: '2024-08-26 23:59:59'});

多表联查

// 关联客户表(接收容器,关联表的实体,关联表名称,关联条件)
entity.leftJoinAndMapOne('entity.customer', customerEntity, 'customer', 'customer.id = entity.customerId');

常用的查询就这些,如有有漏掉了,后续会补充。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值