java - JavaSE 的 `java.sql javax.sql` 和 JDBC 驱动程序之间有什么关系?
问题描述
以下是两个不同的包,并且都不包含另一个吗?
JDBC 驱动程序,例如
com.mysql.jdbc.Driver
和JavaSE
java.sql
和javax.sql
如果我是正确的,JavaSEjava.sql
和javax.sql
providedriverManager
管理一组 JDBC 驱动程序。如果我是正确的,JavaSEjava.sql
并javax.sql
提供与 DBMS 无关的 API。是否com.mysql.jdbc.Driver
提供特定于 DBMS 的 API?
哪一个实现了 JDBC API?JDBC 的定义是一个 API,我理解它与 DBMS 无关,所以我猜它是 JavaSE 的java.sql
,javax.sql
它实现了 JDBC API?那么JDBC驱动实现了哪些API呢?
JavaSE 是否基于 JDBC 驱动程序的 API 实现java.sql
?javax.sql
com.mysql.jdbc.Driver
究竟是java.sql和javax.sql的接口吗?那么为什么不导入com.mysql.jdbc.Driver
而不是导入java.sql
andjavax.sql
呢?
谢谢。
解决方案
jdbc DriverManager 由各种 rdbms 驱动程序实现,例如本例中的 mysql。驱动程序负责处理从 java 类型到 db 类型的连接、执行和转换。
推荐阅读
- c# - 离子角度应用程序卡在白色“加载器”上。Web 应用程序正常工作
- jquery - jquery animate() 干扰 css 转换导致错误动画
- c# - 如果有任何错误,如何执行双重“if”语句跳转到相同的“else”
- javascript - Pixi.js 视口跟随对象
- prometheus - 找出 prometheus 中的高 CPU 使用率查询
- ios - iOS swift - 处理来自 API 的响应
- amazon-s3 - Rundeck S3 插件
- php - Twig 中的 PHP for 循环
- typescript - 打字稿如何重写接口的属性类型
- java - 如何直接在 JDL 中加密 JHIPSTER 应用程序的数据?