Nest.js学习之路(22)-TypeORM(9) RelationQueryBuilder(下)& Refactor

  上一章中用更新User的两个关联数据为例,介绍RelationQueryBuilder,今天UserService完全用QueryBuilder重写,值得一提的是,这样做之后,你可以实际注入entitymanager或connection。两者的利弊可能是个人偏好,也可能是每个人都可以讨论(应该与绩效有关!)

使用QueryBuilder重写所有内容意味着不再使用TypeORM的RepositoryAPI。我们只能注入EntityManager,而习惯于编写SQL的人更适合。

修改user.serviceconstructor部分

User.module不需要修改

这是userRepo下的红色小技巧,按useRp到F2Refactor到em

另一个要修改的地方是

使用EntityManager的优点是您可以使用Transaction,并且您将来有机会介绍它。简而言之,您可以在Transaction

中练习多个SQLOperations

RefactorgetUserById

RefactoraddUser

.png

RefactordeleteUser

当您获得用户列表时,您可以使用缓存(RepositoryAPI也可用),并使用QueryBuilder重写getUsers

使用邮递员测试

.png

TypeORM和最后一个值得分享的是Listener并且与embeddedentity相关。回到nestjs

推荐我的公共号码: [geekjc],微信号: [c]学习交流编程知识,分享经验和各种有趣的事情。

Tuiguang.png