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

相关推荐
二哈赛车手4 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~5 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8295 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
星星也在雾里6 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
未若君雅裁6 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记7 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI7 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20248 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有8 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql