Spring 6.0基于JDB手写定制自己的ROM框架

ORM = 用面向对象的方式操作关系型数据库

  • 开发者操作的是 对象(Object)

  • ORM 框架负责把对象 自动映射 为:

    • SQL

    • 表(Table)

    • 行(Row)

    • 列(Column)

目标:

  • 减少手写 SQL

  • 降低业务代码与数据库的耦合

  • 提升开发效率与可维护性

ORM 框架 自动化程度 核心特点 适合场景
Hibernate / JPA 全自动 强对象模型,关系通过注解/配置描述,几乎不写 SQL 领域模型清晰,复杂对象关系
MyBatis (iBatis) 半自动 SQL 手写,结果映射成对象,更可控 SQL 复杂,对性能和查询精度要求高
Spring JDBC Template 弱 ORM 只封装 JDBC,RowMapper 手动映射 简单场景,对 ORM 抽象不敏感

互联网 高并发 高性能 高可用

为什么要自己手写?为什么要重复造轮子

各有各的需求。学习还是为了解思想

单表操作自动映射 现在也是直接有了

没有orm怎么操作数据库

jdbc

1.最经典代表

rs和行索引写过resultset

版本2

反射技术

通过反射拿实体类的字段名字,把字段名字作为列名建建立关系

反射注解名字

sql语句就是反射拿取注解别名

自动生成sql

结果集

软编码

反射赋值

select 的orm

相关推荐
karry_k2 分钟前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k9 分钟前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
这个DBA有点耶2 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技2 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend3 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
SamDeepThinking4 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
ClouGence6 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
她的男孩7 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码8 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python