什么是JDBC?
Java的官方文档是如下描述的
The JDBC API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases. The JDBC API provides a call-level API for SQL-based database access. JDBC technology allows you to use the Java programming language to exploit "Write Once, Run Anywhere" capabilities for applications that require access to enterprise data.
JDBC API是独立的数据库连接工业标准协议,这个数据库连接指的是Java编程语言和各种各样数据库的连接。JDBC API提供了通过SQL语言获取数据的一套可调用接口API。JDBC技术允许开发者在开发企业数据获取的应用中,使用JAVA语言来实现“一次写入,多地运行”的能力。
就我的理解而言,JDBC是Java用来实现各种各样数据库连接的一套标准化接口协议。JDBC API定义了如何获取/修改数据库中的数据。由于不同的数据库操作数据的底层协议不同,因此不同的数据库厂商会提供对应的数据库驱动,比如mysql有提供给Java的驱动mysql-connection-java-xxx.jar, oracle有提供给Java的驱动ojdbcxx.jar,sqlserver有提供给Java的驱动sqljdbcxx.jar等等。当然,这些数据库厂商也有提供给其他编程语言的数据库连接驱动,比如mysql提供给c++的驱动mysql-connector-c++-8.0.13-macos10.14-x86-64bit.dmg等等。而这些驱动会实现JDBC API,将其转化成对应数据库协议,从而实现了对数据的操作。
JDBC整体架构
JDBC API包含两个主要的接口集合: 第一个就是为应用写数据者提供的JDBC API, 第二个就是为驱动写数据提供的更底层的JDBC驱动API. 应用可以通过JDBC API获取数据,通过基于JAVA JDBC技术实现的驱动,如下图所示
左边这条线路表示驱动会把JDBC的接