网站首页 > java教程 正文
先来看一个问题:在创建 Java 项目,选择数据库依赖时,如下图,你知道该如何正确的选择合适你项目的依赖吗?
看完这篇文章,就能有个很好的认知了。
后续的文章中,我们也需要使用数据库,所以在正式开始使用 Java 数据库框架(如持久层框架)之前,也需要先来了解一下数据库相关的基础知识。
1. JDBC(Java DataBase Connectivity)
Java 应用通过 JDBC 接口访问数据库, 为各种数据库(如 mysql、oracle)提供一个统一的接口,应用程序通过 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)
JPA(Java 持久层接口),定义了 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 访问数据库的。
小结
本文主要分享了 JDBC、Connector/J、JPA、ORM,以及 MyBatis 之间的相互关系。你了解了吗?
猜你喜欢
- 2025-07-15 采用Oracle OSB总线进行服务注册和接入
- 2025-07-15 javaEE 新闻管理系统 oracle11+tomcat6
- 2025-07-15 从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 2025-07-15 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 2025-07-15 【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 2025-07-15 【mykit-data】 数据库同步工具(数据库表同步工具)
- 2025-07-15 Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- 2025-07-15 Oracle数据库云服务系列新增前所未有的企业级功能
- 2025-07-15 直播预告丨如何实现Oracle存储过程到java的一键转化
- 2025-07-15 Oracle-架构、原理、进程(oracle底层架构)
你 发表评论:
欢迎- 07-15采用Oracle OSB总线进行服务注册和接入
- 07-15javaEE 新闻管理系统 oracle11+tomcat6
- 07-15从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 07-15如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 07-15【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 07-15【mykit-data】 数据库同步工具(数据库表同步工具)
- 07-15[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- 07-15Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- 最近发表
-
- 采用Oracle OSB总线进行服务注册和接入
- javaEE 新闻管理系统 oracle11+tomcat6
- 从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 【mykit-data】 数据库同步工具(数据库表同步工具)
- [Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- Oracle数据库云服务系列新增前所未有的企业级功能
- 直播预告丨如何实现Oracle存储过程到java的一键转化
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)