百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)

liuian 2025-06-28 15:17 4 浏览

先来看一个问题:在创建 Java 项目,选择数据库依赖时,如下图,你知道该如何正确的选择合适你项目的依赖吗?

看完这篇文章,就能有个很好的认知了。

后续的文章中,我们也需要使用数据库,所以在正式开始使用 Java 数据库框架(如持久层框架)之前,也需要先来了解一下数据库相关的基础知识。

1. JDBC(Java DataBase Connectivity)

Java 应用通过 JDBC 接口访问数据库, 为各种数据库(如 mysqloracle)提供一个统一的接口,应用程序通过 JDBC 执行各种 SQL 操作。

  • JDBC API 定义如何访问关系型数据库中的数据。
  • JDBC driver 实现特定类型数据库的 JDBC API
  • Spring JDBC 是 Spring 提供的在 JDBC API 之上的一个抽象层,目的是为了简化和 DB 的交互。

2. mysql-connector-java

MySQL Connector/J 提供了使用标准 JDBC API Java 应用程序连接到 MySQL 的驱动程序支持。MySQL Connector/J 是一个 JDBCType4 驱动程序,实现 JDBC4.2 规范。

Connector/J provides driver support for connecting to MySQL from Java applications using the standard Java Database Connectivity (JDBC) API.`


3. ORM(Object Relational Mapping)

ORM 的作用是在数据库表与 Java 对象之间建立映射,理论上来说有 ORM 就无需直接通过 SQL 操作数据库了,通过 Java 对象即可,这样会方便很多。


4. JPA(Java Persistence API)

JPAJava 持久层接口),定义了 Java 对象持久化的标准方法,是 ORM 的一个标准,使用 ORM 机制弥合面向对象模型与存储在关系数据库中的数据之间的差距。

JPA 建立在 JDBC 之上,也是通过 JDBC 访问数据库。Hibernate 是实现 JPA 标准的一个有名例子。

JDBC API solves interaction with the database, while JPA solves storing/retrieving of objects to/from databases in an object-oriented way. Underneath, JPA implementations rely on JDBC drivers to access databases.


5. MyBatis

MyBatis 不是 JPA 的一个实现,可以把它理解为加强版的 SQL,实现了诸如动态 SQL、结果集映射等,高效又不失灵活。它克服了 ORM 过于笨重的缺点(比如,在多表联合查询时相当繁琐),又避免了直接使用原始的 JDBC 操作数据库过于低效。但同样的,Mybatis 也 是建立在 JDBC 之上,通过 JDBC 访问数据库的。


小结

本文主要分享了 JDBCConnector/JJPAORM,以及 MyBatis 之间的相互关系。你了解了吗?

相关推荐

什么是Java消息系统(JMS)?(java消息机制原理)

在JavaEE应用程序的典型体系结构中,数据访问层具有与数据存储进行通信的技术,如Java持久性API(JPA)、Java连接器体系结构(JCA),它将应用程序连接到企业信息系统(EIS);和Jav...

学习java没规划?2020最新路线图,大堆资源秒变大神

为什么编程就跟数学一样弯下头捡铅笔从此就听不懂?为什么学完之后感觉简单,刷题却像刷人生?为什么这个规划图这么受欢迎,这么多人看?为什么这个小图能在我们官网占据这么重要的位置?请观看本文《黑马程序员——...

Spring Data JPA:用最少的代码搞定数据库操作

SpringDataJPA:用最少的代码搞定数据库操作今天咱们聊聊SpringDataJPA这个神器,它简直就是JAVA开发者的好帮手,特别是那些被复杂的SQL语句折磨得苦不堪言的朋友。想象一...

Spring Data JPA的高级查询:从基础到进阶

SpringDataJPA的高级查询:从基础到进阶在Java的生态系统中,SpringDataJPA以其强大的功能和便捷性,成为了许多开发者处理数据库操作的首选工具。它简化了JPA的操作流程,...

客观对比Spring boot JPA 和Mybatis plus

SpringBootJPA和MyBatisPlus都是在Java生态系统中广泛使用的持久化框架,用于简化和加速与关系型数据库的交互。然而,它们在设计哲学、用法和功能上有一些不同。设计哲...

Hibernate 和 JPA(hibernate和jpa的区别)

Hibernate在5以后的版本中全面推进使用JPA的查询语法,甚至准备废弃掉自己已有的查询语法。什么是JPAJPA全称为JavaPersistenceAPI,Java持久化A...

[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)

先来看一个问题:在创建Java项目,选择数据库依赖时,如下图,你知道该如何正确的选择合适你项目的依赖吗?看完这篇文章,就能有个很好的认知了。后续的文章中,我们也需要使用数据库,所以在正式开始使用...

Java从入门到实战总踩坑?这6大核心+实战案例,帮你打通任督二脉

开篇:你是不是也这样?学Java越学越懵!最近有个刚学Java的朋友跟我吐槽:“看了3个月教程,语法背得滚瓜烂熟,结果写个‘用户登录’的小程序都卡壳——对象不会用、内存总溢出、多线程代码越调越乱……”...

盘点JPA中的骚操作(jpa使用教程)

相信大多数的Java后端开发者都听说过MyBatis,但是用过JPA的人却相对较少,有些人可能没有听说过。JPA在国外比较火用的人也比较多,国内大多被MyBatis的简单易上手所吸引。相对的,JPA和...

SpringBoot中使用Spring Data JPA

Springboot中如何集成springdatajpa一什么是ORM?ORM即Object-RelationlMapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体...

SpringBoot整合Spring Data JPA(SpringBoot整合JWT)

本篇要点简单介绍JPA。介绍快速SpringBoot快速整合JPAJPA是啥?TheJavaPersistenceAPIisastandardtechnologythatletsy...

Spring Boot中使用JPA与MyBatis有什么区别?

JPA(JavaPersistenceAPI)和MyBatis都是在SpringBoot应用程序中比较常用的两种持久化框架,他们各自有各自的优点和缺点,以及适合的使用场景,下面我们就来详细介绍...

Spring JPA – Multiple Databases

1.概述在本教程中,我们将为具有多个数据库的Spring数据JPA系统实现一个简单的Spring配置。2.实体首先,让我们创建两个简单的实体,每个实体都位于一个单独的数据库中。下面是第...

Spring Data JPA 的 JpaRepository与MyBatis区别对比

SpringDataJPA的JpaRepository和MyBatis是Java生态中两种非常流行但设计理念和使用方式截然不同的持久层框架。它们的核心区别在于如何管理对象-关系映射(...

Spring Data Jpa 介绍和详细入门案例搭建

1.SpringDataJPA的概念在介绍SpringDataJPA的时候,我们首先认识下Hibernate。Hibernate是数据访问解决技术的绝对霸主,使用O/R映射(Object-Re...