JDBC、ORM、JPA、Spring Data JPA,傻傻分不清楚?一文带你厘清个中曲直,给你个选择SpringDataJPA的理由

本文介绍了JDBC、ORM框架、JPA以及Spring Data JPA之间的关系,阐述了JDBC作为数据库操作的基础接口,ORM框架如MyBatis和Hibernate为开发带来便利,JPA作为ORM规范,而Spring Data JPA则是对JPA的进一步抽象和简化,提供了一种无需编写大量DAO代码即可操作数据库的方式。文章讨论了选择Spring Data JPA的理由,包括其简化开发、提高可移植性的优势,并与MyBatis进行了对比,帮助开发者在两者间做出合适的选择。
摘要由CSDN通过智能技术生成

序言

Spring Data JPA 作为 Spring Data 中对于关系型数据库支持的一种框架技术,属于 ORM 的一种,通过得当的使用,可以大大简化开发过程中对于数据操作的复杂度。

本文档隶属于《 Spring Data JPA 用法与技能探究》系列的第一篇。本系列文档规划对 Spring Data JPA 进行全方位的使用介绍,一共分为 5篇 文档,如果感兴趣,欢迎关注交流。

《Spring Data JPA用法与技能探究》系列涵盖内容:

  • 开篇介绍 —— 《JDBC、ORM、JPA、Spring Data JPA,傻傻分不清楚?一文带你厘清个中曲直,给你个选择SpringDataJPA的理由!》
  • 快速上手 —— 《SpringBoot集成JPA介绍》
  • 深度进阶 —— 《JPA核心类型与用法介绍》
  • 可靠保障 —— 《聊一聊数据库的事务,以及Spring体系下对事务的使用》
  • 周边扩展 —— 《JPA开发辅助效率提升方案介绍》

本章节主要对Spring Data JPA的整体情况以及与其相关的一些概念进行一个简单的介绍。

在具体介绍Spring Data JPA之前,我们可以先来思考一个问题: 在JAVA中,如果需要操作DB,应该怎么做?

很多人可能首先想到的就是集成一些框架然后去操作就行了、比如mybatis、Hibernate框架之类的。

当然,也可能会有人想起JDBC。

再往深入想一下:

  • JAVA里面的写的一段DB操作逻辑,是如何一步步被传递到DB中执行了的呢?
  • 为什么JAVA里面可以去对接不同产商的DB产品?
  • 为什么有JDBC、还会有各种mybatis或者诸如Hibernate等ORM框架呢?
  • 这些JDBC、JPA、ORM、Hibernate等等相互之间啥关系?
  • 除了MyBatis、Hibernate等习以为常的内容,是否还有其他操作DB的方案呢?
  • ...

带着这些问题,我们接下来一步步的进行探讨,先树立对Spring Data JPA的正确印象。

1. 需要厘清的若干概念

1.1. JDBC

谈到JAVA操作数据库相关的概念,JDBC是绕不过去的一个概念。

先来介绍下JDBC究竟是个什么概念。

JDBC(Java DataBase Connectivity),是java连接数据库操作的原生接口。

JDBC对Java程序员而言是API,为数据库访问提供标准的接口。由各个数据库厂商及第三方中间件厂商依照JDBC规范为数据库的连接提供的标准方法。

概念阐述的可能稍微有点抽象,说的直白点可以这么理解:各个产商的DB产品很多,JAVA联合各个DB产商定了个规范,JAVA可以按照规范去编写代码,就可以用相同的操作方法去操作不同产商的DB了。也就是说JDBC是JAVA与各个DB产商之间的一个约定规范、约束的是DB产商的实现规范。

基于JDBC,我们可以在JAVA代码中去执行DB操作,如下示意:

package com.txw.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@SuppressWarnings("all")   // 注解警告信息
public class JdbcTest01 {
    public static void main(String[] args)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值