1、JDBC是什么?
- 全称为Java Data Base Connectivity,java语言连接数据库系统。它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是用于在Java语言编程中与数据库连接的API。
- JDBC库包括通常与数据库使用相关的,如下面提到的每个任务的API:连接到数据库、创建SQL或者MySQL语句、在数据库汇总执行SQL或者MySQL查询、查看和修改结果记录。
- 从根本上说,JDBC是一个规范,提供一整套接口,允许以一种可移植的方式访问底层数据库API。其接口是class文件,由SUN公司负责制定。JDBC接口调用方是java程序员,负责连接数据库并且操作数据库;而JDBC接口的实现类由各大数据库厂商的java程序员负责编写。
- 各大数据库厂商编写的JDBC接口的实现类,编译之后将这些实现类打成jar包并发布,打成的jar包称之为“连接数据库驱动”。
- 而所有需要连接数据库的java程序员从其官网中下载这些专用驱动jar包,并且需要将这些jar包配置到环境变量classpath中。
2、JDBC架构:
- JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:
a、JDBC API:提供应用程序到JDBC管理器连接。 b、JDBC驱动程序API:支持JDBC管理器到驱动程序连接。 |
- JDBC API使用驱动程序管理器并指定数据库的驱动程序来提供与异构数据库的透明连接。
- JDBC驱动程序管理器确保使用正确的驱动程序来访问每个数据源。驱动程序管理能够支持连接到多个异构数据库的多个并发驱动程序。
- 以下是架构图,它显示了驱动程序管理器相对于JDBC驱动程序和Java应用程序的位置。
3、常见的JDBC组件:
- 在JDBC API中提供以下接口和类:(简单认识)
- DriverManager:此类管理数据库驱动程序列表,使用通信子协议将来自java应用程序的连接请求与适当的数据库驱动程序进行匹配。在JDBC下识别某个子协议的第一个驱动程序将用于建立数据库连接。 - Driver:此接口处理与数据库服务器的通信。我们很少会直接与Driver对象进行交互。但会使用DriverManager对象来管理这种类型的对象。它还提取与使用Driver对象相关的信息。 - Connection:此接口具有用于联系数据库的所有方法。连接(Connection)对象表示通信上下文。即,与数据库的所有通信仅仅通过连接对象。 - Statement:使用从此接口创建的对象将SQL语句提交到数据库中。除了执行存储过程之外,一些派生的接口还接受参数。 - ResultSet:在使用Statement对象执行SQL查询之后,这些对象保存从数据库中检索的数据,它作为一个迭代器并可移动ResultSet对象查询数据。 - SQLException:此类处理数据库应用程序中发生的任何错误。 |
4、JDBC在开发中的作用:
- 在实际开发中,数据库的产品特别多,例如MySQL、Oracle、DB2、Sybase、SQLServer等等。每一个数据库的底层实现都不同,那么java程序员在连接数据库的时候,就得关心数据库底层具体的实现,也就意味着需要学习多套连接数据库的程序。(MySQL专门一套、Oracle专门一套)
- 而JDBC规范就是给java程序员提供的基于多套数据库连接的标准接口,使java程序员在连接数据库的时候,不需要关心底层数据库的实现原理。
- 附加说明:什么是API?
- Application Programming Interface,应用程序编程接口,就是一套类库:【这里的接口不是专指java中的interface】
- java中的API包括三个元素:API字节码、API源码、API帮助文档。(三个元素的版本需要保持一致。例如:JDK1.7源码 --> JDK1.7字节码 --> JDK1.7帮助文档)