不用 ORM 会发生什么?

  要弄清一个事物带来了什么,有种办法就是在场景中去掉它,当我们不使用 ORM 开发项目,需要补齐哪些能力,以表格形式列举要补齐的功能点和意义。

  我们仅能通过 SQL语句和数据库交互,在采用 ORM 项目开发的项目有时出于性能、数据库表达限制的原因而直接编写 SQL 语句,在脱离 ORM 后往往没有额外的安全保护机制。再者对比 ORM 的 SQL 构建器和 SQL 本身,构建器上手容易、表达局限多、随时间推移不兼容变更大,在解决数据库操作关键问题时仍然不能避免用到 SQL 知识,从个人开发者长远发展积累的角度来看,是否优先学好 SQL 语言。

DeepSeek 说:在软件开发中,ORM 和 SQL 的关系类似于“工具”与“基础能力”的权衡。以下从多个维度分析,最终结论是:SQL 是开发者必须优先掌握的底层核心技能,而 ORM 应作为提升效率的辅助工具

为何 SQL 是长远发展的根基?

  • 底层原理理解:SQL 是数据库交互的通用语言,深入理解其执行计划、索引机制、锁与事务,是优化性能和处理高并发的基础。
  • 技术栈灵活性:无论 ORM 如何演进(如从 Hibernate 到 MyBatis),或切换数据库类型(如 MySQL 到 PostgreSQL),SQL 知识始终通用。
  • 复杂问题解决:数据分析、报表生成、大规模数据迁移等场景,几乎必须依赖原生 SQL。
  • 职业竞争力:在系统调优、架构设计等高级岗位中,SQL 能力是区分开发者水平的关键指标

在AIGC开发时代使用SQL 和 ORM 开发较之前有何不同,又对个人开发者发展规划有什么影响?

在DeepSeek 说: AIGC 时代,SQL 仍是数据库交互的基石,而 ORM 的价值因 AI 辅助得以提升。

比较ORM和SQL谁对AI大语言模型更友好,从快速理解学习和生成质量更好等方面比较,说明原因?表格输出比较部分。

这个问题期望获得AI大模型自身角度的回答,AI很容易理解为从开发者的角度出发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/889833.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

事务中无法切换数据源?DataSourceSwitchInvoker:轻松实现多数据源切换执行工具类

背景: 在有标注为@Transactional的类或公共方法中(传播特性,如:NOT_SUPPORTED、SUPPORTS、REQUIRED【默认值】、REQUIRES_NEW)执行数据源切换可能不成功(比如:主从数据源切换,多数据源切换等,均会发现切换不成功,或“偶尔又切换成功”),导致本应该需要查主库却查了…

Java基础05(常用类)

匿名内部类 Object类 包装类 String类 BigDecimal类 Date类(特定时间)Calendar类(日历)SimpleDateFormat类(格式化时间)System类(系统类)Java基础05(常用类) 内部类 成员内部类在类的内部定义,与实例变量、实例方法同级别的类外部类的一个实例部分,创建内部类对象…

mysql表字段varchar(10)和varchar(255)测试文件占用

前言全局说明一、说明 1.1 环境: Windows 11 家庭版 23H2 22631.3737 MySQL: 服务器版本: 5.6.34 - MySQL Community Server (GPL) Navicat for MySQL: 10.1.71.2 测试样本 两个字段: id字段是 1~10位不等长度的随机数; num字段是 11~25位不等的随机数字;为了更好模拟实际使…

FreeRTOS高效应用实战

FreeRTOS高效应用实战 基于STM32CubeIDE生成对芯片移植好的FreeRTOS工程,使用HAL库编写FreeRTOS应用程序,实现FreeRTOS高效应用实战引入函数句柄的概念函数句柄(Function Handle)是编程中用于间接引用和操作函数的一种机制,其本质是将函数作为数据来传递和存储。以下是关于…

解决ZYNQ-7020开发板使用vitis编译uboot报错和无法正常调试的问题

整个学习过程是参考正点原子启明星开发板的2020.2版本嵌入式Linux开发指南,在学习uboot移植的时候遇到了问题。 新建工程和配置环境啥的和教程里都一样,就不罗嗦了,这里重点讲和教程不一样的地方(或者说教程里有问题的地方)。 新建工程后编译时遇到的报错 在按照教程新建ub…

markDown学习日记

标题 标题是通过#和一个空格来创建,标题的等级是通过#的个数来鉴别。 字体样式 进步进步进步 加粗效果由2个*前后包裹来实现 进步进步进步 斜体需要一个*来实现 (两者都实现需要三个*) 进步进步进步 删除需要两边都用波浪号 ~ 实现 引用明德新民 止于至善用>实…

LVM(Logical Volume Manager)

一. LVM概述 1. 什么是 LVM LVM(Logical Volume Manager,逻辑卷管理器)是 Linux 系统下的一种 存储管理 机制,能够灵活地管理磁盘分区。它提供了一种比传统分区管理(如fdisk、parted)更高级的存储管理方式,允许动态调整存储空间,方便扩展和缩减分区,而不会影响已有数据…

碎片

平板电脑和手机最大的区别就在于屏幕的大小, 一般手机屏幕的大小会在 3 英寸到 6 英寸之间, 而一般平板电脑屏幕的大小会在 7 英寸到 10 英寸之间。屏幕大小差距过大有可能会让同样的界面在视觉效果上有较大的差异, 比如一些界面在手机上看起来非常美观, 但在平板电脑上看起来就…

作业1 随笔

这个作业属于哪个课程 班级的链接这个作业要求在哪里 作业要求的链接这个作业的目标 学习使用markdown、博客园与GitHub,大致了解本学科1、自我介绍兴趣爱好:玩游戏,打羽毛球,喜欢拍照,喜欢理解学习软件工程专业的新东西 学习方面:主要学习Java,2、5个想弄懂的问题从事后…

NetPad:一个.NET开源、跨平台的C#编辑器

前言 今天大姚给大家分享一个基于.NET开源、跨平台的C#编辑器和游乐场:NetPad。 项目介绍 NetPad是一个基于.NET开源(MIT License)、跨平台的C#编辑器和游乐场,它允许用户立即运行C#代码,无需创建和管理项目。项目技术栈.NET:作为底层框架,提供强大的开发能力和跨平台支…

upload-labs/Pass-18条件竞争绕过

根据代码可以看出,Pass-18 先保存了文件然后再判断文件是否合法,不合法就删除文件; 其他文件上传漏洞都是先判断文件是否合法然后再保存文件 因此可以知道,我们上传的不合法的文件是可以传到服务器的,在上传到服务器和文件删除之间会有一个间隙 我们可以利用这个间隙来绕过…