• day13 ts后端持久层框架(java转ts全栈/3R教室)


    • 简介:如果说TS全栈后端开发最重要的两个框架,除了nestjs就是持久层框架了,这里主要看下Typeorm(java中常用的就是mybatis,springdatajpa,hebernite了)

    • 先回顾下ORM的概念:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。

    • 实体类:和java中实体类定义形式也是类似的,这种都是规范化的东西,IDEA里有直接根据表结构生成实体类的工具,vscode应该也有类似插件,主要是注意下字段注解,特别是id主键生成策略的。
      在这里插入图片描述

    • 然后看下DTO:就是个对数据的校验。Java中我到没用过,反正这种如VO,DO,DTO,PO的划分也不是必要的,在这些东西出来前,直接用model也玩的转。尤其是你项目不大的时候,多几层反而增加了复杂度。
      在这里插入图片描述

    • 接下来看nestjs搭配使用的DAO框架,引用3r站长pincman的评价:整体来说4个ORM都目前处于玩具阶段

      • typeorm:功能比较全,适合大型复杂应用,与laravel、doctrine、jpa等成熟ORM相似,但是大部分orm该有的都没有,魔改起来稍微好操作点,官方基本属于停摆,BUG不处理
      • prisma:适合小博客或简单后端,企业网站等等,使用简便,在需求不复杂的情况下可以作为demo版本的通用orm,缺点也比较多,大部分ORM该有的也都没有,无法魔改,写插件是唯一的方法
      • drizzle:东西很好,很简单,但是有一个致命问题,几乎无封装,相当于纯写sql,代码比所有ORM都清晰,就是太原始了,写起来累死个人,适合数据库关系非常简单的应用
    • 目前还是选typeorm重点看下吧 开始入门 | TypeORM 中文文档

      • 从代码看就是在持久层构建下sql查询语句,然后service根据业务加上where条件
      • 其他基础的save,delete方法也都有,总体不难理解
        在这里插入图片描述
        在这里插入图片描述

    程序员提升&&转型交流群:954614622
    文章代码出自3r教室,想报名的可以找我有内部优惠

  • 相关阅读:
    Linux共享内存
    物流APP开发方案
    python--谷歌恐龙快跑小项目
    再说Mdx的字典文件处理
    雷电模拟器dnconsole命令汇总
    39-Docker-部署Jenkins
    一、Vue3基础[内置指令]
    Java进阶(一)面向对象进阶简介
    10月20日,每日信息差
    7个新的ES2022 JavaScript 功能,你千万不要错过了
  • 原文地址:https://blog.csdn.net/qq_31707969/article/details/138200321